0

文字列を解析する必要があります。区切り文字として。ただし、テキストが二重引用符で囲まれている場合は、テキストを解析する必要はありません。

解析する必要がある

this ; "but not ; this"

このために、正常に機能する正規表現パターンを思いつきました。

;(?=(?:(?:[^\"]*\"){2})*[^\"]*$)

テキストにエスケープされた引用符が含まれている場合、上記のパターンは機能しません。

解析する必要があります

this ; "but \" not ; this"

引用符内のエスケープされた引用符を省略するパターンで私を助けてもらえますか?

4

1 に答える 1

0

二重引用符が不均衡でない限り、この正規表現を次のように使用できますnegative look-behind

(?s);(?=(?:(?:.*?(?<!\\\\)\"){2})*[^\"]*$)

実際のデモ: http://ideone.com/KmjJXJ

于 2013-08-29T21:55:19.433 に答える