私は次のテキストを持っています。[アカウント]。&[1]この文字列からアカウントのみを取得したい。このように正規表現を書きました。
var rexp = /\[[a-z][A-Z]\]/g;
var matchStr = id.match(rexp);
しかし、それは機能していません。これに何か問題がありますか?私を助けてください。
私は次のテキストを持っています。[アカウント]。&[1]この文字列からアカウントのみを取得したい。このように正規表現を書きました。
var rexp = /\[[a-z][A-Z]\]/g;
var matchStr = id.match(rexp);
しかし、それは機能していません。これに何か問題がありますか?私を助けてください。
/\[[a-z][A-Z]\]/
1つの小文字(a-z
)とそれに続く1つの大文字()に正確に一致しますA-Z
。代わりに、/\[[a-zA-Z]+\]/
どちらが「1つ以上の小文字または大文字」と評価されるかを検討してください。
フラグ(大文字と小文字を区別しない)は、:i
と同じことを実行できます。[a-z][A-Z]
/\[[a-z]+\]/gi
これに変更する必要があります:\[[a-zA-Z]+\]/g
。
現在の正規表現では、小文字の文字列の後に大文字の文字列が続くことを期待しています。照合する文字列は大文字で始まり、その後にさらに小文字が続くため、正規表現は機能しません。
私が提案した正規表現は、角括弧と内にある1つ以上の(+
演算子)文字(小文字と大文字の両方)で構成される文字列と一致する必要があります。[a-zA-Z]
[
]