Php HTML中特定单词的正则表达式
我对RegEx还不熟悉,还没有弄清楚什么可能是一个简单的问题。我需要匹配HTML块中的特定单词列表 例如,我有一个单词列表:Php HTML中特定单词的正则表达式,php,regex,Php,Regex,我对RegEx还不熟悉,还没有弄清楚什么可能是一个简单的问题。我需要匹配HTML块中的特定单词列表 例如,我有一个单词列表: ASDF ZXCV QWER 以及以下HTML: ASDF跳过了QWER的ZXCV。 我正在使用正则表达式数组来匹配preg\u replace\u callback(),例如/\bASDF\b/,但这只会发现ASDF被空格包围,并且不考虑符号,例如标记或标点的开头/结尾 我盯着RegEx表看了好几个小时了,我被这张卡住了。如果您能给我任何关于开始的建议,我将不胜感激
- ASDF
- ZXCV
- QWER
ASDF跳过了QWER的ZXCV。
我正在使用正则表达式数组来匹配preg\u replace\u callback()
,例如/\bASDF\b/
,但这只会发现ASDF
被空格包围,并且不考虑符号,例如标记或标点的开头/结尾
我盯着RegEx表看了好几个小时了,我被这张卡住了。如果您能给我任何关于开始的建议,我将不胜感激。谢谢你抽出时间
\bASDF\b
将匹配
<p>ASDF</p>
<p>foo ASDF bar</p>
<p> ASDF></p>
<p>foo ASDF.</p>
ASDF
foo-ASDF酒吧
ASDF
foo ASDF
你有什么不匹配的问题
将匹配
<p>ASDF</p>
<p>foo ASDF bar</p>
<p> ASDF></p>
<p>foo ASDF.</p>
ASDF
foo-ASDF酒吧
ASDF
foo ASDF
您在不匹配时遇到了什么问题?您希望将HTML标记从等式中去掉,只处理文本节点
因此,去掉HTML或使用类似DOMDocument的东西来解析元素,然后在文本节点上使用正则表达式
< > >代码> > b>代码>应考虑<代码> >代码>边界,因为它不是一个单词字符。 您想从等式中取出HTML标记,只与文本节点一起工作。
因此,去掉HTML或使用类似DOMDocument的东西来解析元素,然后在文本节点上使用正则表达式
此外,<代码> \b>代码>应考虑<代码> >代码>边界,因为它不是一个单词字符。
你想匹配这些单词中的任何一个或全部吗?如果有,您可以直接执行(ASDF | ZXCV | QWER)。如果是所有这些单词,那么匹配所有单词的标准是什么
查看此资源,我强烈建议您选择Jeffrey Friedl的《掌握正则表达式》一书。您想匹配这些单词中的任何一个还是所有单词?如果有,您可以直接执行(ASDF | ZXCV | QWER)。如果是所有这些单词,那么匹配所有单词的标准是什么
看看这本资源,我强烈建议你买一本Jeffrey Friedl的《掌握正则表达式》这本书。Aha!谢谢你的帮助,赛斯。我一直在想这个问题,结果发现问题根本不是RegEx部分!我将结束这个问题,因为我真正的问题是完全没有问题的,但非常感谢你的帮助!!计划好了,但是我不会让我再等几分钟。啊哈!谢谢你的帮助,赛斯。我一直在想这个问题,结果发现问题根本不是RegEx部分!我将结束这个问题,因为我真正的问题是完全没有问题的,但非常感谢你的帮助!!计划好了,但除非我再等几分钟,否则我不会这么做。这在我的情况下是不合适的,因为我需要返回HTML格式的结果。否则我会完全按照你的建议去做。我正在动态地添加一些特定单词的链接。@Brad DOM解析器可以很好地重新创建HTML:)虽然我大体上同意你的观点(并且永远不会尝试使用正则表达式解析HTML),但我认为这对于这个应用程序来说有点过分了。但是,我会把这个想法放在我的后口袋里。谢谢。这对我来说不合适,因为我需要返回HTML格式的结果。否则我会完全按照你的建议去做。我正在动态地添加一些特定单词的链接。@Brad DOM解析器可以很好地重新创建HTML:)虽然我大体上同意你的观点(并且永远不会尝试使用正则表达式解析HTML),但我认为这对于这个应用程序来说有点过分了。但是,我会把这个想法放在我的后口袋里。谢谢