正则表达式匹配模式除了一些字符串

时间:2014-03-07 13:39:03

标签: java regex

我正在尝试为某种模式编写正则表达式。

/web/surfer* --Match
/web/surfer/information* --Not Match

有人可以告诉我们如何编写Regex模式以在Java中匹配它

4 个答案:

答案 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