検索

ホームページ  >  に質問  >  本文

javascript - 2 つの文字の間の文字列を検索するための js 正規表現

このような文字列です
var d = "1[ddd]sfdsaf[ccc]fdsaf[bbbb]";
[と]の間の文字列配列を取得したいです
正規表現を使用するにはどうすればよいですか?
括弧は 2 つ含まれません
現在は括弧でのみ実行できます

リーリー
伊谢尔伦伊谢尔伦2788日前831

全員に返信(5)返信します

  • 大家讲道理

    大家讲道理2017-05-19 10:39:52

    リーリー

    返事
    0
  • 给我你的怀抱

    给我你的怀抱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で始まらない数字の文字列と一致することを意味します

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:39:52

    replace を使用した @hack_qtxz の実装を参照してください。

    リーリー

    以下は元の答えです:

    @Shuke の答えは少し繰り返しなので、別の方法で書きます。

    リーリー

    元の答えは次のとおりです:

    リーリー

    返事
    0
  • 怪我咯

    怪我咯2017-05-19 10:39:52

    コードを完成させるには、@cipchk を引用してください。

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:39:52

    リーリー

    返事
    0
  • キャンセル返事