0

次の正規表現を使用して、特定の条件に従う文字列の配列をキャプチャしています (例: 文字や数字が前に付いておらず、一重引用符または二重引用符で囲まれた文字列が含まれているだけです)。

/^?[ =>]\[(('|")[^('|")\s]*('|")(, ?)?)+\]/

キャプチャする必要があります

["bla", "ble", "blo"]

ただし、(一重引用符または二重引用符で囲まれた) 文字列の一部である場合は、それをキャプチャするべきではありません。

'["bla", "ble", "blo"]'

これらの不要なケースをキャプチャしないようにするには、何を追加する必要がありますか?

4

1 に答える 1

1

パターンに負の後読み/先読み式を追加します。

(?<!['])(?!['])(\[(('|")[^('|")\s]*('|")(, ?)?)+\])

テスト時にうまくいきましたが、正規表現エンジンに依存する場合があります。

于 2013-04-20T03:38:54.007 に答える