[英]Javascript RegEx - Start and End of String Anomalies
因此,我首次尝试了一些非常基本的RegEx,有人告诉我,有几种方法可以说明字符串的开始和结束。
一种方式是“ \\A
”和“ \\Z
”,另一种方式是“ ^
”和“ $
”。
由于某些原因,在JS中运行此命令时,后面的命令是唯一有效的选项。
有谁知道为什么会这样吗?
var str = "123456",
pattern1 = new RegExp("^\\d{6}$"),
pattern2 = new RegExp("\A\\d{6}\Z");
if(pattern1.test(str)){
alert('pattern 1 match!');
}else{
alert('pattern 1 no match!');
}
if(pattern2.test(str)){
alert('pattern 2 match!');
}else{
alert('pattern 2 no match!');
}
我认为无论是谁告诉您\\A
和\\Z
应该都起作用,这是错误的消息。 根据JavaScript正则表达式文档 ,只能使用^
和$
。
与regg可视化工具(如Debuggex)一起玩 。 它显示当选择PCRE或Python作为正则表达式样式时(在下拉列表中), 您的表达式匹配 ,但使用Javascript样式时,表达式不匹配。
简而言之,JavaScript根本不支持\\A
和\\Z
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.