我需要一个匹配以 http://www.xyzabc.com
开头的字符串的正则表达式,但该字符串不应包含单词“getJobId”。
例如:
http://www.xyzabc.com/abc <--- should return true
http://www.xyzabc.com/getJobId=9 <--- should return false
我尝试使用以下正则表达式:
^(http://www\.xyzabc\.com)((?!getJobId).)*$
但是没有用。谁能推荐一下?
最佳答案
我刚刚获取了您的代码并运行了它(删除了多余的括号和 anchor ):
final String regex = "http://www\\.xyzabc\\.com((?!getJobId).)*";
System.out.println("http://www.xyzabc.com".matches(regex));
System.out.println("http://www.xyzabc.com/abc".matches(regex));
System.out.println("http://www.xyzabc.com/getJobId=9".matches(regex));
打印
true
true
false
看起来正是您想要的,不是吗?
更新
在您编辑的答案中,您有单反斜杠而不是双反斜杠。
关于java - 正则表达式匹配一个词而不是另一个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13413372/