0

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

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

例如我想找到:

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

但我想排除:

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

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

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

谢谢您的帮助

4

3 回答 3

4

对我有用

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

您不想匹配的两个 ID在哪里manage和是。something

您也可以使用它来使其不贪婪:

id="(?!(manage|something)")[^"]+"
于 2012-06-27T19:50:35.427 回答
1

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

我相信存在一种解决方法,例如,您可以执行以下操作: id="(?!(undesirable1|undesirable2|undesirable3))"

自从我对正则表达式做任何事情以来已经有一段时间了,但我认为这应该可行。

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

于 2012-06-27T19:55:28.967 回答
0

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

于 2012-07-06T08:57:17.727 回答