preg_match模式匹配 (php)

preg_match pattern matches (php)

提问人:Marek Korbus 提问时间:4/8/2023 最后编辑:IMSoPMarek Korbus 更新时间:4/9/2023 访问量:33

问:

我有一个字符串,例如 or"<span class="m-product-data-3__price-value" itemprop="price" content="143.28">XYZZZ</span>""<span class="m-product-data-3__price-value" itemprop="price" content="198.22">XYZZZ</span>"

我想用 提取 XYZZZ 值。 但我希望价值在于如何做到?使用什么模式?preg_match($pattern, $string, $match)$match(1)

'<span class=\"m-product-data-3__price-value\" itemprop=\"price\" cont ent=\"(.*)\">(.*?)<'si- 给了我价值$match(2)

php preg-match

评论

0赞 pierpy 4/8/2023
我不明白你的问题...请格式化您的代码,并输入您正在使用的真实代码preg_match
1赞 Honk der Hase 4/8/2023
圆括号将导致捕获组。.如果你不想要它,就不要使用它^^()
0赞 Marek Korbus 4/9/2023
preg_match(“'<span class=\”m-product-data-3__price-value\“ itemprop=\”price\“ cont ent=\”(.*)\“>(.*?)<'si“, ”<span class=“m-product-data-3__price-value” itemprop=“price” content=“198.22”>XYZZZ</span>“, $match);content=“198.22” 正在更改...可以是 content=“198.22”、content=“143.28” 等 我需要一些preg_match忽略的掩码
0赞 Marek Korbus 4/9/2023
$str 1=“<span class=”m-product-data-3__price-value“ itemprop=”price“ content=”198.22“>XYZZZ</span>” and $str 2=“<span class=”m-product-data-3__price-value“ itemprop=”price“ content=”143.28“>XYZZZ</span>” 我需要模式让preg_match返回match(1) ->XYZZZ

答:

0赞 Anggara 4/9/2023 #1

用于非捕获组。所以你的模式应该是:(?:...)

'<span class=\"m-product-data-3__price-value\" itemprop=\"price\" content=\"(?:.*?)\">(.*?)<'si

或者可能根本不使用括号:

'<span class=\"m-product-data-3__price-value\" itemprop=\"price\" content=\".*?\">(.*?)<'si