このような文字列ですvar d = "1[ddd]sfdsaf[ccc]fdsaf[bbbb]";
[と]の間の文字列配列を取得したいです
正規表現を使用するにはどうすればよいですか?
括弧は 2 つ含まれません
現在は括弧でのみ実行できます
给我你的怀抱2017-05-19 10:39:52
非常に簡単です。ゼロ幅アサーションを使用します:
リーリー上記ではゼロ幅の正先読みアサーションのみを使用していますが、実際にはJavaScriptに限らず、
のように書くこともできます。 リーリーゼロ幅アサーションは 2 つのカテゴリと 4 つのタイプに分類されます:
(?=exp)
それ自体の位置の後の式は exp と一致する可能性がありますが、exp とは一致しないことを示します。
たとえば、 d+(?=999)
は 999 で終わる数値文字列を表します (ただし、一致結果には 999 は含まれません)
(?<=exp)
(JavaScriptはサポートされていません)それ自体の位置より前の exp に一致する式が exp に一致しないことを示します。
たとえば、 (?<=999)d+
は 999 で始まる数値文字列を表します (ただし、一致結果には 999 は含まれません)
(?!exp)
自身の位置を示す式の後にexpを続けることはできません。
たとえばd+(?!999)
は、999で終わらない数字の文字列と一致することを意味します
(?<!exp)
(JavaScript はサポートされていません)自身の位置を示す式の前に exp を付けることはできません。
たとえば(?<!999)d+
は、999で始まらない数字の文字列と一致することを意味します
淡淡烟草味2017-05-19 10:39:52
replace を使用した @hack_qtxz の実装を参照してください。
リーリー以下は元の答えです:
@Shuke の答えは少し繰り返しなので、別の方法で書きます。
リーリー元の答えは次のとおりです:
リーリー