PHP与站点PHP的正则表达式问题
我有一个php,看起来像这样:PHP与站点PHP的正则表达式问题,php,regex,html-parsing,Php,Regex,Html Parsing,我有一个php,看起来像这样: (?i)<(.*?)((?P<QUALIFY>title|))(.*?)>(.*?)(?P<MATCH>(South Beach))(.*?)<\/.*?> (?i)(*P(南滩))(* 从那以后,我希望它能正常工作 Bla南部海滩 返回 资格:头衔 比赛:南海滩 及 blablabla南部海滩 不返回任何内容 这是在regex101上测试时发生的 但是,当这包含在实时站点的网站代码中时 布拉布拉布
(?i)<(.*?)((?P<QUALIFY>title|))(.*?)>(.*?)(?P<MATCH>(South Beach))(.*?)<\/.*?>
(?i)(*P(南滩))(*
从那以后,我希望它能正常工作
Bla南部海滩
- 资格:头衔
- 比赛:南海滩
blablabla南部海滩
- 布拉布拉布拉南部海滩
- 资格:头衔
- 比赛:南海滩
更新。进一步检查后发现,在现场解析之前,我们删除了
/n
和/t
。所以所有的
和其他
组合在一起。是否有办法更改正则表达式>基本上,我正在寻找ba bla South Beach
或div标签,例如bla bla South Beach
更新2以澄清第一条评论: 这是一场正确的比赛,换句话说,我正在寻找 我确实将数组的标题部分更新为
]*)(标题)([^>]*)>
或您的表达式过于复杂,请尝试以下操作:
<(title)>(.*?South Beach.*?)<\/\1>
(*?南部海滩。*?)
备选版本:<(\S*).*?(title).*?>(.*?South Beach.*?)<\/(\1|\2)>
(*?南部海滩。*?)
很难理解您的问题。既然你说某个在regex101中运行,你能发布一个链接来更好地了解你在做什么吗?当然对不起:匹配正确吗。根据更新的进一步研究,结果表明,这是删除线返回,如图所示。基本上,这是我的正则表达式,我在上一个正则表达式之前的末尾收集通配符,这与我最初使用的相似,但我试图解释其他标题标记,除了例如,类似于我如何设置
部分,您可以将South Beach
放置在前标记的两侧,以适应变化。我会帮你编辑的。谢谢你,这很有意义。好奇为什么我做了\1\3我没有得到1-3个匹配项?*?
其中\N
是一个数字,这只是一种反向引用捕获组的方法。如果捕获组为空,它可能不会显示任何内容。N