2012-04-25 24 views
1

次のテキストがあります。 [アカウント]。 & [1] この文字列からアカウントのみを取得したいとします。私はこのような正規表現を書いた。正規表現でテキストを検索

var rexp = /\[[a-z][A-Z]\]/g; 
var matchStr = id.match(rexp); 

しかし、動作しません。これに何か悪いことはありますか?私を助けてください。

答えて

2

/\[[a-z][A-Z]\]/一致正確小文字CHAR(a-z)大文字CHAR(A-Z)が続きます。代わりに、 "1つ以上の小文字または大文字の文字"と評価される/\[[a-zA-Z]+\]/を検討してください。

iフラグ(大文字と小文字を区別しません)は、[a-z][A-Z]/\[[a-z]+\]/giと同じことができます。

1

\[[a-zA-Z]+\]/gに変更する必要があります。

あなたの現在の正規表現では、大文字の小文字の後ろに大文字の小文字の文字列をマッチさせることを期待しています。一致させる文字列は大文字で始まり、その後に小文字が続くので、正規表現は機能しません。私が提案

正規表現は、角括弧[]内にある一つ以上の(+オペレータ)文字(下部および上部ケース[a-zA-Z]両方)から構成された任意の文字列に一致する必要があります。