我正在尝试创建一个匹配新加坡电话号码的正则表达式。关键部分是数字之间可能有空格,也可能没有空格。
我的要求是:
1.数字应该以+65
开头。
1.下一个数字应为6
、8
或9
。
1.接下来的7个字符应该是从0
到9
的任意数字。
例如:+6581234567
我搜索了Stack Overflow,发现了这个question,它做了上面完全相同的事情。
就像我上面说的,中间可能有空间。我也不知道怎么画空格。所以可能的组合是这两个。
+6581234567
+65 8123 4567
2条答案
按热度按时间t40tm48m1#
这将允许在
+65
之后和最后4位之前的任何空白符号。^
和$
字符串的开始和结束,\+65
匹配文字“+65”,(\s?)
匹配可选的空白字符。捕获到组#1中,并且匹配的内容稍后将被反向引用为\1
,[689]
匹配以下任意数字:6、8或9,\d{3}
和\d{4}
相应地匹配三个和四个数字,\1
匹配组#1中的相同内容。演示here。
a9wyjsp72#
下面的正则表达式可以回答这个问题:
您可以使用以下网页来匹配模式:https://pythex.org/