本文介绍了如何在Javascript中匹配正则表达式的确切位数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Javascript中,我所做的是以下内容:
In Javascript, what I have done is the following:
var matched = searching.match(/ \d {7} / )
如果已搜索
1234567
或 XYZ1234567
。两者都返回 1234567
,这很好。 123
和 XYZ123
返回null,这是预期的。
It works great if searched
is 1234567
or XYZ1234567
. Both return 1234567
, which is good. 123
and XYZ123
return null, which is expected.
但是当搜索
12345678
或 XYZ12345678
时,一个条件失败。我希望两者都返回null,因为我寻找一个精确的7位数匹配。它们都返回 2345678
。
But one condition fails when searched
is 12345678
or XYZ12345678
. I would like both to return null because I look for an exact 7 digit match. They both return 2345678
instead.
/ \d {7} $ /
也不起作用。
有人可以提供建议吗?
谢谢
推荐答案
(?:\D | ^)
:以非数字
(?:\ D | $)
:以非数字结尾
var matched = searched.match(/(?:\D|^)(\d{7})(?:\D|$)/);
if (matched) {
matched = matched[1];
}
这篇关于如何在Javascript中匹配正则表达式的确切位数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!