我正在尝试制作两个匹配URI的正则表达式.这些URI的格式为:/foo/someVariableData和/foo/someVariableData/bar/someOtherVariableData
我需要两个正则表达式.每个都需要匹配一个而不是另一个.
我最初提出的正则表达式是:
/foo/.+和/foo/.+/bar/.+.
我认为第二个正则表达式很好.它只匹配第二个字符串.然而,第一个正则表达式匹配两者.所以,我开始玩(第一次)负向前瞻.我设计了正则表达式/foo/.+(?!bar)并设置以下代码来测试它
public static void main(String[] args) {
String shouldWork = "/foo/abc123doremi";
String shouldntWork = "/foo/abc123doremi/bar/def456fasola";
String regex = "/foo/.+(?!bar)";
System.out.println("ShouldWork: " + shouldWork.matches(regex));
System.out.println("ShouldntWork: " + shouldntWork.matches(regex));
}
Run Code Online (Sandbox Code Playgroud)
当然,他们两个都决心true.
谁知道我做错了什么?我不需要使用Negative lookahead,我只需要解决问题,我认为负面的预测可能是一种方法.
谢谢,
我想用java正则表达式否定一组单词.
再说了,我想否定cvs,svn,nvs,mvc.我写了一个正则表达式^[(svn|cvs|nvs|mvc)].
有些看起来似乎没有起作用.
我想在任何情况下都匹配不包含字符串“ None”的任何字符串(不区分大小写),
我提到了问题C#正则表达式来匹配不包含某个字符串的字符串?
所述问题提供了区分大小写的解决方案,但无论如何我都需要禁止字符串“ None”。
我需要一个通用的正则表达式来禁止使用该字符串(不区分大小写的匹配)。
例如:
请帮助我...