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 に答える