我正在使用其RegEx搜索功能在Eclipse中搜索大型代码库。我需要找到没有<script>
属性的src
代码。我是RegEx的新手,但能够一起破解:
^.*(^<script(?!.*src).*)$
这与我要查找的标签相匹配,但前提是<script>
标记之前的行上没有任何内容。如果有空格或任何东西,则不匹配。
正确匹配:
<script type="text/javascript">
不匹配:
<script type="text/javascript">
如何修改表达式以使其在行的任何部分匹配?
我还尝试过前置^
,\s*
,[ ]*
和(?x)
但没有成功。
答案 0 :(得分:1)
你很接近,但可以将其简化为<script(?!.*src.*)>
。
您对行的开头或结尾并不感兴趣,因此不需要包含这些方面。
顺便说一句,是第二次^
让你失望。
答案 1 :(得分:1)
只需使用^.*(<script(?!.*src).*)$
答案 2 :(得分:1)
安全的方法是使用正则表达式模式(<script\b(?![^>]*\bsrc=)[^>]*>)