ホームページ >バックエンド開発 >PHPチュートリアル >2 つの正規表現を 1 つの正規表現に結合する方法を教えてください。ありがとうございます。

2 つの正規表現を 1 つの正規表現に結合する方法を教えてください。ありがとうございます。

WBOY
WBOYオリジナル
2016-06-23 14:09:441006ブラウズ

これは一致するコンテンツです

<td class="LightRowHead">Primary Color:</td><td class="LightRow">Multi-Color</td></tr><tr><td class="DarkRowHead">Multi Pack Indicator:</td><td class="DarkRow">No</td></tr><tr><td class="LightRowHead">Battery Type:</td><td class="LightRow">Does Not Contain a Battery</td></tr>


これらの正規表現を 1 つに結合するにはどうすればよいですか?
$a = preg_match_all('/LightRowHead.*?>(.*?):.*?LightRow.*?>(.*?)</is', $content, $a);$a = preg_match_all('/DarkRowHead.*?>(.*?):.*?DarkRow.*?>(.*?)</is', $content, $b);

これを正しく書いていません
$a = preg_match_all('/[LightRowHead|DarkRowHead].*?>(.*?):.*?[LightRow|DarkRow].*?>(.*?)</is', $content, $c);


アドバイスをください


ディスカッションに返信 ( solution)

(xx |yy)

角括弧で囲んだ場合は、単一の文字選択になります

$a = preg_match_all('/(LightRowHead|DarkRowHead).*?>(.*?) :.*?( LightRow|DarkRow).*?>(.*?)5a1b116d2a3b9a18813ba3dc38a128ba(.*?):.*?(?:LightRow|DarkRow).*?>(.*?)1a7f6e17c368858057ddbcd117094db9(.*?):.*?\ 1.*?>(.*?)43360e836f4af1eab5d2e5c138c29cde(.*?): .*?(LightRow|DarkRow).*?>(.*?)c4742fa6840e516b1fb3ca3ef0aa4270(.*?):.*?(?:LightRow|DarkRow) と書くことができます。 .*?>(.*?)39f971ea9bd7da404c0e3b1522687155(.*?):.*?\1.*?>(.*?) 案の定、csdn の人々は熱心です。 、ありがとう、そして二階です..

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。