1

Eclipseソフトウェアには、正規表現を検索する機能があります。<version>0.0.1-SNAPSHOT</version>xmlの親ノードがではないすべての文字列を検索したいと思います<parent>

それを行う最も簡単な方法は何でしょうか?

4

1 に答える 1

1

追記:完全書き直し。

タグをネストできない限り<parent>、これは可能ですが、その場合に限ります (そして、XML を正規表現と一致させようとしないことに関する通常の警告がすべて適用されます。XML にコメントまたは CDATA セクションが含まれるとすぐに、すべての賭けはオフになります。 )。

(?s)<version>0\.0\.1-SNAPSHOT</version>(?!(?:(?!</?parent>).)*</parent>)

説明:

(?s)              # Turn on singleline matching mode
<version>0\.0\.1-SNAPSHOT</version> # Match this string
(?!               # but only do this if it's impossible to match this regex here:
 (?:              # Try to match...
  (?!</?parent)   #  (as long as there is no <parent> or </parent> tag ahead)
  .               #  any character
 )*               # any number of times
 </parent>        # Then match </parent>
)                 # End of lookahead
于 2013-02-07T09:44:27.277 に答える