我试图找到一个只包含8个数字的数字,这是我已经拥有的代码:
preg_match_all("/([0-9]{8})/", $string, $match)
Run Code Online (Sandbox Code Playgroud)
但这会从长度超过8位的数字字符串中提取8个数字
任何帮助将不胜感激
谢谢
我会用\d而不是[0-9].
使用^和$分别匹配字符串的开头和结尾:
preg_match_all('/^(\d{8})$/', $string, $match)
Run Code Online (Sandbox Code Playgroud)
快速但略带野蛮的方法:
使用\D([^0-9])匹配"not-a-number":
preg_match_all('/^|\D(\d{8})\D|$/', $string, $match)
Run Code Online (Sandbox Code Playgroud)
Lookbehinds/lookaheads可能会让这更好:
preg_match_all('/(?<!\d)(\d{8})(?!\d)/', $string, $match)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |