0
コンマ(,
)または&
の文字列を分割したいと思います。これは簡単ですが、大括弧で囲まれたコンテンツの一致を停止したいと考えています。たとえば は、私はこれが(したがってPHP
と)(*SKIP)(*FAIL)
メカニズムPCRE
ための完璧な例です事前特定のパターンを除外する正規表現
コンマ(,
)または&
の文字列を分割したいと思います。これは簡単ですが、大括弧で囲まれたコンテンツの一致を停止したいと考えています。たとえば は、私はこれが(したがってPHP
と)(*SKIP)(*FAIL)
メカニズムPCRE
ための完璧な例です事前特定のパターンを除外する正規表現
で唯一の分割と二つの要素
感謝があることが必要
sleeping , waking(sit,stop)
上で実行する場合オファー。
次のコードを考え出すことができます:これは、括弧内ではありません任意の,
や&
を分割します
<?php
$string = 'sleeping , waking(sit,stop)';
$regex = '~\([^)]*\)(*SKIP)(*FAIL)|[,&]~';
# match anything between (and) and discard it afterwards
# instead match any of the characters found on the right in square brackets
$parts = preg_split($regex, $string);
print_r($parts);
/*
Array
(
[0] => sleeping
[1] => waking(sit,stop)
)
*/
?>
。
質問を編集し、さらにサンプル入力と予想される出力を追加できますか?例えば、あなたは '&'と言っていましたが、どうすればいいでしょうか? –