繁体   English   中英

正则表达式查找以08开头且在10到13个字符之间的数字

[英]regex to find numbers in string that starts with 08 and are between 10-13 char

我正在尝试分析一个字符串,该字符串包含9-11个字符长且为整数且以08或+62开头的字符串。 如何在PHP中做到这一点? 到目前为止,这是我的正则表达式:

/^(\+?62|08)[0-9]{9,11}$/

所以这是一些示例字符串/整数,我应该能够从长字符串中提取出来

082298744807
087884962429
087783218768
0818809692
081224505277
+628129191929
+62812123929

尚不清楚您是否要匹配10-13位数字或9-11之间的数字。 在任何情况下,这都是一个简单的解决方法(只需将前两位数字08或62计为数字总和的一部分。要在php中实现,请使用preg_match_all

$pat = "/^(?:\+?62|08)[0-9]{8,11}$/uim"; // note modfied range of digits

preg_match_all($pat, $str, $res);
print_r($res[0]);

例:

http://ideone.com/GJYK7C

结果:

Array
(
    [0] => 082298744807
    [1] => 087884962429
    [2] => 087783218768
    [3] => 0818809692
    [4] => 081224505277
    [5] => +628129191929
    [6] => +62812123929
    [7] => +629490029944
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM