正则表达式模式仅匹配字母表前面的数字



我正在尝试设置一个正则表达式,但遇到了问题。

正文:

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

我得到的数据几乎是准确的,但在正则表达式的第一和第二场比赛中,即 /Mar/2015/abc/def/ghi/jklmn/opqrs/12531631913/wqeqeqer我不希望数字匹配。这意味着,我的正则表达式应该只找到 /Mar/ 而不是 2015。它应该匹配/abc/def/ghi/jklmn/opqrs/wqeqeqer,但不能匹配 12531631913

试试这个

(/)([a-zA-Z/]+)(1)

最新更新