对于下面提到的字符串值,我需要两个不同的正则表达式;
来源文字1:user.tag.<TAG>.<TAGVALUE>
来源文字2:user.tag.<TAG>
一个简单的正则表达式应唯一标识上述两个字符串。但是应该没有重叠。 <>
中包含的值是动态的。动态值可以是除.
个字符之外的任何内容(包括空格)。
但是我使用了以下正则表达式条件
字符串1的RegEx:(\Quser.tag\E)\.(\w+)\.(\w+)(.*)
字符串2的RegEx:(\Quser.tag\E)\.(\w+)\.(.*)
String 2
的正则表达式也会匹配first source string
。我不希望这种情况发生,我希望它们是独一无二的。
答案 0 :(得分:0)
根据您的示例,使用以下正则表达式:
^user\.tag\.([^.]+)\.([^.]+)$
^user\.tag\.([^.]+)$
请注意,在某些较旧的Java版本中\Q..\E
is buggy,因此最好避免使用它。