Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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中正则表达式中的可选元素_Java_Regex - Fatal编程技术网

java中正则表达式中的可选元素

java中正则表达式中的可选元素,java,regex,Java,Regex,我有这样的模式: "^([\\d.]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(.+?)\" (\\d{3}) (\\d+|\\S+)" 我在以下apache访问日志条目中使用它: 127.0.0.1 - - [16/Jul/2011:20:29:14 +0100] "GET /TestWebPages/MScAIS-SEWN-Search-Optimisation.html HTTP/1.1" 200 5569 127.0.0.1-

我有这样的模式:

"^([\\d.]+) (\\S+) (\\S+) \\[([\\w:/]+\\s[+\\-]\\d{4})\\] \"(.+?)\" (\\d{3}) (\\d+|\\S+)"
我在以下apache访问日志条目中使用它:

127.0.0.1 - - [16/Jul/2011:20:29:14 +0100] "GET /TestWebPages/MScAIS-SEWN-Search-Optimisation.html HTTP/1.1" 200 5569 127.0.0.1---[16/Jul/2011:20:29:14+0100]“获取/测试网页/MScAIS-SEWN-Search-optimization.html HTTP/1.1”200 5569 在第七元素之后的某个时候,我可能会或不会有什么东西。例如

127.0.0.1 - - [16/Jul/2011:20:29:14 +0100] "GET /TestWebPages/MScAIS-SEWN-Search-Optimisation.html HTTP/1.1" 200 5569 – 127.0.0.1--[16/Jul/2011:20:29:14+0100]“获取/测试网页/MScAIS-SEWN-Search-optimization.html HTTP/1.1”200 5569– 有时我在结尾处有
-
,有时它根本不存在

如何将此添加到我的模式中?我试过使用
(\\S{0})
,但没有成功

试试问号:

\S? (alternative \S{0,1})
或对于多次出现,使用星号:

\S* (alternative \S{0,})
尝试添加:
(\\s–){0,1}
,这意味着您可以零次或一次出现“–”