我正在尝试为某种模式编写正则表达式。
/web/surfer* --Match
/web/surfer/information* --Not Match
有人可以告诉我们如何编写Regex模式以在Java中匹配它
答案 0 :(得分:2)
我相信你正在寻找像这个正则表达式一样的负面预测:
/web/surfer(?!/information).*
答案 1 :(得分:1)
试试这个例子:
String s = "/web/surfer/information";
System.out.println(s.matches("/web/surfer(?!/information).*"));
答案 2 :(得分:1)
你可以试试这个:
^/web/surfer(?>[^i]++|\\Bi|i(?!nformation\\b))*$
答案 3 :(得分:1)
我认为令人困惑的是你使用*匹配任何文字,而你实际上需要一个点。
这会有帮助吗?
String regex = "/web/surfer.*";
System.out.println("/web/surfer*".matches(regex)); // prints true
System.out.println("/web/surfer/information*".matches(regex)); // prints true