正则表达式在html模板中搜索

时间:2012-06-27 19:44:58

标签: php html regex

我正在尝试在很多文件中找到某些字符串(cc.2000文件)。

我基本上需要的是在html文件中找到除某些ID之外的任何ID属性。

例如,我想找到:

<a id="certain_id">sdfsdf</a>

但我想排除:

<a id="manage">Manage</a>

我只需要一个正则表达式,因为我想在Eclipse Search中使用它。但是,如果我不能,我也可以制作一个php文件。

类似于:id =“(?!manage)”或类似的东西。我不想替换任何我想要的每个文件中的元素列表。

感谢您的帮助

3 个答案:

答案 0 :(得分:4)

worked for me

id="(?!(manage|something)").*?"
^   ^                      ^  
|   |                      Any character (not greedy), followed by a quote
|   Negative lookahead to make sure there isn't manage|something and a quote
Match the id=" characters literally

managesomething是两个您不想匹配的ID。

你也可以使用它来使它变得非贪婪:

id="(?!(manage|something)")[^"]+"

答案 1 :(得分:1)

正则表达式不包含自然的“非”运算符。

我相信存在一种解决方法,例如你可以做类似的事情:id =“(?!(desirable1 | unwanted2 | unwanted3))”

自从我使用正则表达式做了一些事情以来已经有一段时间了,但我认为这应该有效。

编辑:我认为尼克的答案更好

答案 2 :(得分:0)

http://txt2re.com/有史以来最好的工具