2017-07-09 154 views
0

我试图找到两个HTML标记之间的值的正则表达式,即:<td></td>该matchis东西或没有

有可以是一个单词字符\w或没有(甚至没有><之间的空间关闭开口支架。

所以我想这个/<td>[\w{1,}|]<\/td>/,但它不工作

这是PHP的,是的,我清楚地知道有些人反对使用正则表达式解析HTML警告。)...

任何帮助,将不胜感激。

谢谢

+0

只需更换只有两个字或没有'[]'和'()'。 https://regex101.com/r/4Cy2xZ/3。你的正则表达式并不理想,但它应该适应这种变化。 – sln

回答

1
/<td>\w*<\/td>/ 

如果你想有匹配的群体,你需要括号没有括号:

/<td>(\w*)<\/td>/ 

要匹配“一无所有”,才使术语可选与*

0

如果您需要查找两个html标签之间的值。 请使用正则表达式的波纹管

(?<td>)(\w*)(?=<\/td>) 

它只是匹配<td></td>之间

https://regex101.com/r/4Cy2xZ/1

+0

你在哪里寻找开标签? – sln