试图了解此正则表达式的含义

时间:2019-06-26 23:58:01

标签: regex

试图了解以下正则表达式的含义。

  

/ ^ [0-9] {2,3} [-] {0,1} [0-9] {3} [-] {0,1} [0-9] {3} $ / < / p>

抱歉,不完全是编码问题。

2 个答案:

答案 0 :(得分:2)

让我们将此正则表达式分解为几个不同的部分:

  • ^:在字符串开头声明位置
  • [0-9]{2,3}:匹配一个介于0到9之间的数字,介于2到3次之间
  • [- ]{0,1}匹配零到一的破折号(可选破折号)
  • [0-9]{3}:匹配0到9之间的数字,精确匹配3次
  • [- ]{0,1}匹配零到一的破折号(可选破折号)
  • [0-9]{3}:匹配0到9之间的数字,精确匹配3次
  • $:在字符串末尾或在字符串末尾的行终止符之前(如果有的话)声明位置

以下是一些可以通过此正则表达式的字符串:

  • 123-123-123
  • 123123123
  • 12-123-123
  • 12123123

这里是学习/测试正则表达式的好资源:regex101.com

答案 1 :(得分:1)

它匹配两位或三位数字,后跟(可选)一个破折号或空格,然后是3位数字,再匹配可选的破折号或空格和3位数字。似乎试图匹配以不同格式书写的电话号码。