0

私は文字列を持っていますabvd.qweqw.sdfs.a=aqwrwewrwerrew。この文字列を解析して、前後のピースを取得する必要があり=ます=。シンボル.は何度も発生する可能性があります。では、解析に使用できる正規表現を教えてください。ありがとうございました。

4

3 に答える 3

1

純粋にあなたの例に基づいています:

/([a-z.]+)=([a-z]+)/

編集

でも実は:

/([a-z_.]+)=(.*)/i

結果はメモリグループ1と2にあります。コード内:

if (preg_match('/^([a-z_.]+)=(.*)/i', $str, $matches)) {
    // $matches[1] contains part before =
    // $matches[2] contains part after =
}

ところで、私は(を使用して^)それを固定することによって式を微調整しました。それでも問題が解決しない場合は、式から削除してください。

于 2012-06-19T07:16:14.320 に答える
1

そのために単純な文字列関数を使用できます。

list($first, $second) = explode('=', 'abvd.qweqw.sdfs.a=aqwrwewrwerrew);
于 2012-06-19T07:16:58.807 に答える
0

それが完全なコードです。

<?php
   if(preg_match('/([a-z.]+)=([a-z]+)/', "abvd.qweqw.sdfs.a=aqwrwewrwerrew", $matches)){
      print $matches[1]."\n";
      print $matches[2]."\n";
   }
?>
于 2012-06-19T07:37:20.243 に答える