我正在尝试使用preg_match()在PHP中搜索一个字符串,以返回一个采用'xdr‘格式的字符串,其中x是一个数字。
字符串由字符、数字、'.‘组成。句号和空格。
我对正则表达式无能为力,有人能帮我吗?
我试过^([a-zA-Z0-9]+)\s2dr$,但它不起作用
例如,字符串可能类似于A really big 2.0 was 3dr once
发布于 2012-05-24 01:36:39
据我所知,这个正则表达式将匹配包含某个数字后跟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);发布于 2012-05-23 23:45:21
你已经很接近了。
下面的正则表达式将匹配单个数字,后跟一个或多个字母字符、数字、句号和空格,并以dr结尾。
^\d[a-zA-Z0-9. ]+dr$注意:不确定是否需要文字dr,如果不需要,请从末尾删除它。
https://stackoverflow.com/questions/10723455
复制相似问题