【发布时间】:2021-11-11 08:32:09
【问题描述】:
我正在尝试从字符串中提取一个数字。该字符串是一个文件名,其内容是可变的,但将以空格后跟一个数字结尾。
所以像a b 1212、a 1212 这样的字符串。我不确定文件名是否会以空格开头,但 1212 之类的内容不应产生匹配项。
我目前正在使用
preg_match('#^(.)* (\d*)$#', $str, $matches);
但这会返回匹配 1212 之类的情况。
我考虑过反转字符串并这样做
preg_match('#^(\d*)(\s*)(.*)$#', strrev($str), $matches);
var_dump(strrev($matches[1]));
并检查if $matches[1] != '',这似乎可行,但我试图更好地理解正则表达式,这样我就可以在没有相反的情况下做到这一点,并为get number at end of string, which is always preceded by a space, and where that space in turn is always preceded but anything的情况找出正确的模式。
想法?
【问题讨论】: