は、テキストの行を扱う表現を見つけ出すように見えることはできません文字列をグループ化しますなどのindexOf()、などの文字列関数で、これを解決するよりも、気の利いた正規表現..正規表現
Q
正規表現
2
A
答えて
4
正規表現'([^']|'')++'
このデモが示すように、あなたが、興味のある部分と一致します:
$text = "'SOME_TEXT','EVEN_MORE_TEXT','EXPRESSION IS IN (''YES'',''NO'')'";
preg_match_all("/'([^']|'')+'/", $text, $matches);
print_r($matches[0]);
:
Array
(
[0] => 'SOME_TEXT'
[1] => 'EVEN_MORE_TEXT'
[2] => 'EXPRESSION IS IN (''YES'',''NO'')'
)
関連する問題
はあなたのグループの周りにバッククォートを置くことができますが、私たちはそれらを区別しやすくするために? – lunixbochs
申し訳ありませんテキストをより読みやすく編集しました。ありがとう:) – Kman
これは[その有名な質問](http://stackoverflow.com/q/1732348/192510)と多少似ています。ネストされたデリミタ(カンマと引用符)の問題を克服する必要があります。時にはデリミタとして機能することもありますが、テキストの一部に過ぎないこともあります。 2つの部分を分離することは、通常の正規表現能力を超えています。一部の正規表現エンジンには追加機能がありますが、一般的な意味で理解していることは必ずしも容易ではありません。いつも*。時間のいくつかが十分な場合は、それのために行く。 – NealB