Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex xml中的正则表达式_Regex_Eclipse - Fatal编程技术网

Regex xml中的正则表达式

Regex xml中的正则表达式,regex,eclipse,Regex,Eclipse,Eclipse软件具有搜索正则表达式的功能。 我想搜索xml父节点不是的所有0.0.1-SNAPSHOT字符串 最简单的方法是什么?编辑:完成重写 只要标记不能嵌套,这是可能的,但只有这样(所有关于不尝试将XML与正则表达式匹配的常见警告都适用。只要XML中有注释或CDATA部分,所有赌注都将取消) (?s)0\.0\.1-快照(?!(?:(!))*) 说明: (?s) # Turn on singleline matching mode <version>

Eclipse软件具有搜索正则表达式的功能。 我想搜索xml父节点不是
的所有
0.0.1-SNAPSHOT
字符串


最简单的方法是什么?

编辑:完成重写

只要
标记不能嵌套,这是可能的,但只有这样(所有关于不尝试将XML与正则表达式匹配的常见警告都适用。只要XML中有注释或CDATA部分,所有赌注都将取消)

(?s)0\.0\.1-快照(?!(?:(!))*)
说明:

(?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
(?s)#打开单线匹配模式
0\.0\.1-快照#匹配此字符串
(?!#但只有在无法匹配此正则表达式时才执行此操作:
(?:#尝试匹配。。。

(?!编辑:完成重写

只要
标记不能嵌套,这是可能的,但只有这样(所有关于不尝试将XML与正则表达式匹配的常见警告都适用。只要XML中有注释或CDATA部分,所有赌注都将取消)

(?s)0\.0\.1-快照(?!(?:(!))*)
说明:

(?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
(?s)#打开单线匹配模式
0\.0\.1-快照#匹配此字符串
(?!#但只有在无法匹配此正则表达式时才执行此操作:
(?:#尝试匹配。。。

(?!所以您只想在
Z
标记中找到该字符串,对吗(如果它不是“父”标记)?我不确定您放置它的方式是否与我的相同。我可以有不同的嵌套Z标记,例如
0.0.1-SNAPSHOT
。我不想要的是
0.0.1-SNAPSHOT
让我换一种方式说:所有xml节点都有父节点(根目录除外)。特别是节点0.0.1-SNAPSHOT有一个父节点。我不希望此父节点是,仅此而已(不管节点“父节点”可能有其他子节点、兄弟节点、父节点或其他任何子节点)好吧,现在我很困惑。所以它不是
bam
,而是
barbazbam
,你想匹配
bar
baz
,但不是
bam
?是的,你的第二个例子是正确的,尽管我只想匹配bar和baz,如果bar或baz等于0.0.1-SNAPSHOT。所以你想只在
Z
标记中找到这个字符串,对(如果它不是“父”标记)?我不确定您放置它的方式是否与我的相同。我可以有不同的嵌套Z标记,例如
0.0.1-SNAPSHOT
。我不想要的是
0.0.1-SNAPSHOT
让我换一种方式说:所有xml节点都有父节点(根节点除外)。特别是,节点0.0.1-SNAPSHOT有一个父节点。我不希望此父节点是,仅此而已(不管节点“父节点”可能有其他子节点、兄弟节点、父节点或其他任何子节点)好吧,现在我感到困惑了。所以不是
bam
而是
barbazbam
,你想匹配
bar
baz
,而不是
bam
?是的,你的第二个例子是正确的,尽管我只想匹配bar和baz,如果bar或baz等于0.0.1-SNAPSHOT。这仍然捕捉到artifactID groupID 0.0.1-SNAPSHOT I看不到以下内容:。但我忘了将
(?s)
修饰符粘贴到单行正则表达式中。请重试。这仍然捕获artifactID groupID 0.0.1-快照。我没有看到以下内容:。但我忘了将
(?s)
修饰符粘贴到单行正则表达式中。请重试。