我想抓住手机已知行号前面的任何数字,如果它们存在(在Perl中)。不会有破折号,只有数字。如何在Perl中解析电话号码?
例如,假设我知道行号始终为8675309. 8675309可能有也可能没有前导数字,如果是的话我想捕获它们。前几位的数字没有限制。
$input $digits $number
'8675309' '' '8675309'
'8008675309' '800' '8675309'
'18888675309' '1888' '8675309'
'18675309' '1' '8675309'
'86753091' not a match
/8675309$/
这将匹配如何捕获一个正则表达式中的前几位?
为什么使用正则表达式?怎么样index()和substr()或split()?请记住http://www.codinghorror.com/blog/archives/001016.html – 2010-01-14 15:59:16
你有没有例子?在perl恐怕这将是更混乱的嵌套ifs由于可变长度字符串,但我可能是错误的设置 – user210757 2010-01-14 16:14:06
请参阅hobbs的答案http://stackoverflow.com/questions/2055988/how-cani-i-比较国际电话号码在perl,在过去几天问。 – 2010-01-14 18:58:02