如何查找区号 032 的正则表达式


how to find regex for area code of 032

在下面的代码中,我应该使用什么正则表达式来查找与 032 区号匹配的数字?

$regex = ''; // what should i put in here?
$phone_numbers = array("02-123-4567","(032)3214567","032-1237654");
for ($x =0; $x<=count($phone_numbers)-1;$x++) {
    if (preg_match($regex, $phone_numbers[$x])) 
        echo $phone_numbers[$x] . "<br />";
}

应该是这样的:

$regex = '~^[(]?032[)-]?'d{7}$~';

032之前可以是括号,之后是括号032连字符,或者什么都没有,并且超过7个数字到字符串的末尾。

{7} 我在这里使用只是因为您向我们展示了 7 位数的电话号码,如果数字计数不是正好是 7,您可以使用 eg。 {7,9}或只是+.我不知道您的电话号码到底是什么格式。

您的第一个"电话号码"中间包含连字符,如果它是可能有效的格式,它将是

$regex = '~^[(]?032[)-]?'d{3}-?'d{4}$~';

您可能可以侥幸逃脱:

/032(.*'d){7}/

重要的是它后面有七个数字。因为任何 3 位数字后面有 7 位数字都必须是区号。

使用这个: [(]?032[)-]?('d+)

此正则表达式与示例代码中的最后 2 项匹配。

也请尽量不要在这里问这样的简单问题。Web有很多工具,例如rubular,您可以在其中练习和测试正则表达式。