我有那些弦
hello,world,1.fin
hello,world,start11.fin
hello,world,start11,then,end22.fin
hello,world,111,then,222,then,end333.fin
hello,world,111,then,222,then,end333threes.fin
hello,world,111,then,222,then,end333threes.fin444
我只需要匹配.
之前和world,
之后的结尾数字,我期望得到
1
11
22
333
333
333
我尝试了这个,但它不匹配上一个案例,world,.*?(\d+)\.
link,然后我尝试了这个,但它只从开始,world,.*?(\d+).*\.
link.fin
不是静态的,它会随机更改为.fin444
或.444
2条答案
按热度按时间fhity93d1#
这个应该可以
参见https://regex101.com/r/ilIsJb/1
lyfkaqu12#
您可以使用
请参见regex demo。
,world,
-固定字符串(?:.*\D)?
-一个可选序列,其中包含尽可能多的除换行符以外的任何零个或多个字符,然后是一个非数字字符(\d+)
-第1组:一个或多个数字[^\W\d]*
(或者,也可以使用[a-zA-Z_]*
,甚至[^\d.]*
来匹配除数字和点之外的任何零个或多个字符)-零个或多个字字符,不包括数字\.
-一个.
字符