如果我这样做:
var string = "7,11,2"
var check = string.match("/1/");
if(check != null){
doSomething();
} else {
doSomethingElse();
}
然后 check
不是 null
因为match
找到了1
在11
.那么我应该如何避免这种情况并获得 1
什么时候真正出现?
最佳答案
发生这种情况是因为它匹配 11
中的 1
并将其称为匹配项。您必须确保 1 之后没有其他数字。尝试:
var check = string.match("/(^|\D)1(\D|$)/");
这将寻找一种被非数字字符或字符串开头/结尾(^
和 $
anchor )包围的方式。
关于Javascript 正则表达式 : How to get `1` and not `11` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3792414/