0

HTML文字列からランダムな数のisbn番号をキャプチャしたいと思います。そのような文字列の1つは

978-2-7560<br />978-2-84055<br />978-2-84789<br />978-2-906187<br />

理想的には、preg_match_allを使用して各繰り返しを個別にキャプチャする1つの正規表現を使用します。もちろん、次のように文字列全体をキャプチャできます。

(([\d-]{7,}<br />)+)

次にそれを分割します

"<br />", 

しかし、私はむしろ1つの正規表現のみを使用したいと思います。それは可能ですか?

よろしくお願いします。

4

3 に答える 3

1

2番目のキャプチャグループとキャプチャ以外の魔法を使用します。

(?:([\d-]{7,})<br />)+
   ^--inner  ^--inner
^--outer            ^--outer

?:外側のグループをキャプチャしないようにするため、isbn部分のみのキャプチャが残ります。

于 2012-09-08T13:16:42.740 に答える
0

あなたはただすることができますexplode()

explode("<br />", $string);

<br />タグの形式が変更されると、これが機能しなくなる可能性があることに注意してください( <br><br/>)。

于 2012-09-08T13:16:43.217 に答える
0

これはできないと思います。例として、私がやりたかったのは、乱数「a」を使用して、単純な正規表現を使用して、文字列「aaaaa」から配列(a、a、a、a、a)をキャプチャすることでした。私はそれを閉じます、努力の人たちに申し訳ありません。

于 2012-09-10T14:35:40.713 に答える