我正在尝试使用 , 在 PHP 中搜索一个字符串preg_match()
,以返回一个采用“xdr”格式的字符串,其中 x 是一个数字。
否则字符串由字符、数字、'.' 组成。句号和空格。
我对正则表达式毫无希望,有人可以帮助我吗?
我已经尝试过^([a-zA-Z0-9]+)\s2dr$
,但它不起作用
例如,字符串可能看起来像A really big 2.0 was 3dr once
我正在尝试使用 , 在 PHP 中搜索一个字符串preg_match()
,以返回一个采用“xdr”格式的字符串,其中 x 是一个数字。
否则字符串由字符、数字、'.' 组成。句号和空格。
我对正则表达式毫无希望,有人可以帮助我吗?
我已经尝试过^([a-zA-Z0-9]+)\s2dr$
,但它不起作用
例如,字符串可能看起来像A really big 2.0 was 3dr once
据我了解您的需求,此正则表达式将用于匹配包含一些数字的字符串,后跟dr
:
/\b\d+dr\b/
在行动中preg_match
:
preg_match('/\b\d+dr\b/', $string);
解释:
/ : regex delim
\b : word boundary
\d+ : one or more digit
dr : literaly dr
\b : word boundary
/ : regex delim
如果您希望其他字符仅characters, numbers, '.' full stops and spaces
使用此:
preg_match('/^[\w\d. ]*\b\d+dr\b[\w\d. ]*$/', $string);
并且,要兼容 unicode:
preg_match('/^[\pL\pN. ]*\b\pN+dr\b[\pL\pN. ]*$/', $string);
你很近。
以下正则表达式将匹配一个数字,后跟一个或多个字母字符、数字、句号和空格,并以dr
.
^\d[a-zA-Z0-9. ]+dr$
注意:不确定是否需要文字dr
,如果没有,请从末尾删除。