-7

((および))で始まり、 !が含まれていないものをすべて見つけようとします。文字。これが私が生成した正規表現です。( http://rubular.com/r/7rQipcE9FK ) しかし、PHP preg_match_all 用に変換する方法がわかりませんでした。

dolor sit ametも 1 つの文字列として返しますが、((dolor)) と ((amet)) を区切る必要があります。手伝ってくれますか?

4

2 に答える 2

4

*その後を使用して、欲張りでないものを作成する必要があります?

/\(\([^!]*?\)\)/

コード:

$text = "((Lorem)) ((!ipsum)) ((dolor)) sit ((amet)), ((!consectetur)) ((!adipisicing)) ((elit))";  
$regex = "/\(\([^!]*?\)\)/";                                                                        

preg_match_all($regex, $text, $matches);                                                            

var_dump($matches);    

出力:

array(1) {
  [0] =>
  array(4) {
    [0] =>
    string(9) "((Lorem))"
    [1] =>
    string(9) "((dolor))"
    [2] =>
    string(8) "((amet))"
    [3] =>
    string(8) "((elit))"
  }
}
于 2013-02-01T14:28:28.897 に答える
0

そのほぼ同じ

preg_match_all('|\(\([^!]*\)\)|', '{{your data}}', $arr, PREG_PATTERN_ORDER);
于 2013-02-01T14:28:00.203 に答える