我不是很擅长正则表达式,但我有一个这样的字符串:
$str = '<span id="MainStatuSSpan" style="background: brown;"> Incoming: 012345678 Group- SUPERMONEY Fronter: - 992236 UID: Y3281602190002004448</span>';
$pattern = '/(?:Fronter: - )[0-9]{1,6}/i';
preg_match($pattern, $str, $matches);
print_r($matches);
/*** ^^^^^^^ This prints :*/
Array ( [0] => Fronter: - 992236 )
如果Fronter
没有-
或空格,我就不会获得Fronter - number
。
任何人都可以帮助处理在任何情况下都有效的示例,总是有Fronter
和number
。
答案 0 :(得分:1)
Fronter:\W*[0-9]{1,6}
:匹配Fronter:
\W*
:零个或多个非单词字符
[0-9]{1,6}
一到六位
您的正则表达式也会找到与Fronter:99222236
匹配的内容,因此您必须使用\b
来避免溢出数字长度