Java 正则表达式匹配一个单词,但不匹配另一个单词
我需要一个正则表达式,如果字符串以Java 正则表达式匹配一个单词,但不匹配另一个单词,java,regex,Java,Regex,我需要一个正则表达式,如果字符串以http://www.xyzabc.com但字符串不应包含单词“getJobId” 例如: http://www.xyzabc.com/abc 我刚刚获取了您的代码并运行了它(删除多余的参数和锚): 印刷品 true true false 看起来正是你想要的,不是吗 更新 在编辑后的答案中,您使用了单反斜杠而不是双反斜杠。更好的正则表达式是 ^(http://www.xyzabc.com)(?!*?getJobId)。*$ (?!*?getJ
http://www.xyzabc.com
但字符串不应包含单词“getJobId”
例如:
http://www.xyzabc.com/abc 我刚刚获取了您的代码并运行了它(删除多余的参数和锚):
印刷品
true
true
false
看起来正是你想要的,不是吗
更新
在编辑后的答案中,您使用了单反斜杠而不是双反斜杠。更好的正则表达式是
^(http://www.xyzabc.com)(?!*?getJobId)。*$
(?!*?getJobId)
将检查getJobId是否存在,如果存在,则将不匹配 使用此正则表达式http://www\.xyzabc\.com((?!getJobId)\S)*(?=\S |$)
http://www\.xyzabc\.com
silded const
((?!getJobId)\S)*
不包含getJobId,但可以包含符号
(?=\s |$)
下一个符号空格或匹配是最后一个单词您应该在回答中解释该正则表达式字符串。@Abu它是OP的正则表达式,因此可以公平地假设他已经理解了它。如果您粘贴的是作为正则表达式传递的Java字符串,请将反斜杠加倍。
true
true
false