Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regex,测试电话号码ruby_Ruby_Regex - Fatal编程技术网

regex,测试电话号码ruby

regex,测试电话号码ruby,ruby,regex,Ruby,Regex,所有以这些范围开头的电话号码都正确:例如:772123322 长度很重要,它的末尾应该包含6位数字 550-559 700-709 770-779 到目前为止,我已经做到了: \A(55[0-9])|(70[0-9])|(77[0-9])\d{6}\z 如何修改此正则表达式以正常工作?更简单的是: \A(55[0-9]|70[0-9]|77[0-9])\d{6}\z /^(55|70|77)\d{7}$/ 更简单的是: /^(55|70|77)\d{7}$/ 这很好,但是您需要注意ru

所有以这些范围开头的电话号码都正确:例如:772123322

长度很重要,它的末尾应该包含6位数字

550-559
700-709
770-779
到目前为止,我已经做到了:

\A(55[0-9])|(70[0-9])|(77[0-9])\d{6}\z
如何修改此正则表达式以正常工作?

更简单的是:

\A(55[0-9]|70[0-9]|77[0-9])\d{6}\z
/^(55|70|77)\d{7}$/
更简单的是:

/^(55|70|77)\d{7}$/

这很好,但是您需要注意ruby regexps中
^$
的安全含义。请参阅第7.6节:。改用
\A\z
。@Casper这是一个有趣的观点,但在本例中,我们是在匹配行,而不是验证activerecord模型,因此^$更正确。换句话说,text.scan(myregex)将正常运行,而text.scan(yourregex)将不正常运行。这很好,但是您需要了解ruby regexps中
^$
的安全含义。请参阅第7.6节:。改用
\A\z
。@Casper这是一个有趣的观点,但在本例中,我们是在匹配行,而不是验证activerecord模型,因此^$更正确。换句话说,text.scan(myregex)将正常工作,而text.scan(yourregex)则不会。