新加坡移动的号码regex与空格之间

2wnc66cl  于 2023-06-07  发布在  其他
关注(0)|答案(2)|浏览(175)

我正在尝试创建一个匹配新加坡电话号码的正则表达式。关键部分是数字之间可能有空格,也可能没有空格。
我的要求是:
1.数字应该以+65开头。
1.下一个数字应为689
1.接下来的7个字符应该是从09的任意数字。
例如:+6581234567
我搜索了Stack Overflow,发现了这个question,它做了上面完全相同的事情。
就像我上面说的,中间可能有空间。我也不知道怎么画空格。所以可能的组合是这两个。

  1. +6581234567
  2. +65 8123 4567
t40tm48m

t40tm48m1#

^\+65(\s?)[689]\d{3}\1\d{4}$

这将允许在+65之后和最后4位之前的任何空白符号。

  • ^$字符串的开始和结束,
  • \+65匹配文字“+65”,
  • (\s?)匹配可选的空白字符。捕获到组#1中,并且匹配的内容稍后将被反向引用为\1
  • [689]匹配以下任意数字:6、8或9,
  • \d{3}\d{4}相应地匹配三个和四个数字,
  • \1匹配组#1中的相同内容。

演示here

a9wyjsp7

a9wyjsp72#

下面的正则表达式可以回答这个问题:

^(?:\+65\s?)?8[0-9]{7}$

您可以使用以下网页来匹配模式:https://pythex.org/

相关问题