我正在尝试设置一个正则表达式,但遇到同样的问题。
文字:
1)
1.2.3.4 - USER [01/Mar/2015:10:05:16 +0200] SSLv1.0 ABCDE-FGH-IJK128-LMN111 POST /abc/def/ghi/jklmn/opqrs/t1 HTTP/1.1 200 99 12345 http://somehost.somedomain.com:1234 balancer://abc_def_ghi_http_port_1234
2)
1.2.3.4 - USER [01/Mar/2015:10:05:16 +0200] SSLv1.0 ABCDE-FGH-IJK128-LMN111 POST /abc/def/ghi/jklmn/opqrs/12531631913/wqeqeqer HTTP/1.1 200 99 12345 http://somehost.somedomain.com:1234 balancer://abc_def_ghi_http_port_1234
正则表达式:
(?:\/[^]\s\/(){},~:;=@#%&_\-]*)+
网址:https://regex101.com/r/qc9BOX/1/
目前,上述案例的匹配是:
1)
/Mar/2015
/abc/def/ghi/jklmn/opqrs/t1
/1.1
//somehost.somedomain.com
//abc
2)
/Mar/2015
/abc/def/ghi/jklmn/opqrs/12531631913/wqeqeqer
/1.1
//somehost.somedomain.com
//abc
我得到的数据几乎是准确的,但在正则表达式的第1和第2场比赛中,/Mar/2015
和/abc/def/ghi/jklmn/opqrs/12531631913/wqeqeqer
我不希望数字匹配。
这意味着,我的正则表达式只能找到 / Mar / 而不是 2015 。它应该匹配 / abc / def / ghi / jklmn / opqrs / wqeqeqer ,但不能匹配 12531631913 。
答案 0 :(得分:-1)
试试这个
(\/)([a-zA-Z\/]+)(\1)