我想用断言来编写一个正则表达式,以从字符串unknownstring/55.1
中提取数字55,这是我的正则表达式:
$str = 'unknownstring/55.1';
preg_match('/(?<=\/)\d+(?=\.1)$/', $str, $match);
所以,基本上我想说的是给我斜杠后面的数字,接着是一个点和数字1,并且在那之后没有其他字符。但它不匹配正则表达式。我试图从末尾删除$
符号,它就匹配了。但这个条件很重要,因为unknownstring
部分可能包含类似的文本,例如unknow/545.1nstring/55.1
。也许我可以使用preg_match_all,并取最后一次匹配,但我想知道为什么第一个正则表达式不起作用,我的错误在哪里。
谢谢