我需要一个正则表达式用于所有这些示例:
<319/319hp ***....... 2377860/7094952 87/88mv 2019c 112s 52g 5m> Jadlodajnia [ Wyjscie ] 4
<319/319hp .......... 2377860/7094952 87/88mv 2019c 112s 52g 5m> Ulica Glowna [ E Jadlodajnia W ] 7
<319/319hp ******.... 2377860/7094952 86/88mv 2019c 112s 52g 5m> Ulica Glowna [ E Sklep W ] 7
<319/319hp ********** 2377860/7094952 86/88mv 2019c 112s 52g 5m> Ulica Glowna [ E Sklep W ] 7
在所有这些例子中,我都会得到2377860
值,但我不知道如何制作它。
答案 0 :(得分:1)
可能类似于:
[*.] (\d+)\/\d+
匹配句点或星号,空格,然后匹配一个或多个数字,正斜杠和一个或多个数字。第一个捕获组就是您所追求的。
你当然可以根据你想要的挑剔来缩短或缩短,但我通常会谨慎行事。
答案 1 :(得分:1)
你可以试试像
这样的东西" (\d{7})/"
后跟7位数字的空格,然后是/
答案 2 :(得分:1)
您可以使用以下内容(因为您使用PCRE引擎,它应该可以工作):
(?<=[.*] )\d+(?=/)
它只会匹配数字。
如果您的语言不支持后视(但确实如此),您必须使用:
[.*] (\d+)(?=/)
与第一组合作($1
)。