Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 匹配带有或不带url参数的路径_Java_Regex - Fatal编程技术网

Java 匹配带有或不带url参数的路径

Java 匹配带有或不带url参数的路径,java,regex,Java,Regex,我试图编写一个简单的正则表达式来匹配以下内容: /path/foo.html /path/foo.html?a=b /path/foo.html?a=b&b=c 但不是/path/foo.htmlx或任何不是foo.html+url参数的其他内容 我试过了 /path/foo.html(?:\?|$) 但它在我的java项目中似乎不起作用。我不太明白您要匹配什么,但如果您只想匹配URL部分,而不想匹配搜索字符串: /^[^?#]*/ #-哈希字符串也可以传递一些参数是否完全匹配 说明

我试图编写一个简单的正则表达式来匹配以下内容:

/path/foo.html
/path/foo.html?a=b
/path/foo.html?a=b&b=c
但不是/path/foo.htmlx或任何不是foo.html+url参数的其他内容

我试过了

/path/foo.html(?:\?|$)

但它在我的java项目中似乎不起作用。

我不太明白您要匹配什么,但如果您只想匹配URL部分,而不想匹配搜索字符串:

/^[^?#]*/

#-哈希字符串也可以传递一些参数

是否完全匹配

说明此字符串是否与给定的正则表达式匹配

调用str.matches(regex)形式的此方法会产生与表达式完全相同的结果

因此,例如
“/path/foo.html?a=b”。matches(“/path/foo.html(?:\?$)”)
返回false,因为字符串不在
之后结束


对于@reconnect提供的URL部分使用regexp,您可以使用
“/path/foo.html(\\?*)”

^[^?]*

从开始到角色相遇的匹配

要搜索/path/foo.html,请使用:

^/path/foo.html


如果需要检查某个内容的某个部分是否在行中存在匹配项,请添加
^
-行的开头和
$
行的结尾,在这种情况下,您应该注意条件结尾之间的字符,基本上被
*

替换为您现在拥有的以及您想要匹配的内容?发布您的代码,以便我们可以调整它以使其工作。@anubhava尽管正则表达式有效,但可能在代码中使用错误。例如
String.matches(String regex)
说明字符串是否与整个regex匹配,因此此regex将失败。是的,OP可能正在使用
matches
method如果您不理解OP想要什么,请在注释中询问,不要基于假设回答。@Adelin我可以在没有你的情况下决定吗?@Adelin如果这对你更有利-好吧