1

我正在使用其 RegEx 搜索功能在 Eclipse 中搜索大型代码库。我需要找到<script>没有src属性的标签。我是 RegEx 的新手,但能够一起破解一些东西:

^.*(^<script(?!.*src).*)$

这与我正在寻找的标签匹配,但前提是<script>标签之前的行没有任何内容。如果有空格或任何东西,它不匹配。

正确匹配:

<script type="text/javascript">

不匹配:

      <script type="text/javascript">

如何修改我的表达式以使其匹配该行的任何部分?

我也试过在前面加上^, \s*, [ ]*,(?x)但没有成功。

4

3 回答 3

1

安全的方法是使用正则表达式模式(<script\b(?![^>]*\bsrc=)[^>]*>)

于 2012-09-26T14:42:03.030 回答
1

您很接近,但可能可以将其简化为<script(?!.*src.*)>.

您对行的开头或结尾并不真正感兴趣,因此无需包括这些方面。

顺便说一句,正是那一秒^让你失望了。

于 2012-09-26T14:27:07.587 回答
1

只需使用 ^.*(<script(?!.*src).*)$

于 2012-09-26T14:29:58.893 回答