使用Javascript正则表达式检查字符串中的特定数字

时间:2011-07-05 19:51:24

标签: javascript regex

这一定很容易,但我试图检测整数28,81,379或380是否存在于字符串中。

我正在使用这种模式:

    pattern = /28|81|379|380/

但它也为381返回true。所以我需要一个修饰符来确保它只是专门查找81,而不是更长的数字中的81。我知道检查开始和结束的^和$修饰符,但我似乎无法弄清楚如何将这些用于使用|的模式。用来检查替代品的符号。

正则表达不是我的力量 - 希望你能帮忙! - 丹

2 个答案:

答案 0 :(得分:4)

您可以使用以下内容:

/\b(?:28|81|379|380)\b/

\b匹配“字障碍”,因此如果它们是单词/其他数字的一部分,则这些数字将不匹配。

如果你想匹配foo28中的28(“单词”的一部分),那么你可以使用:

/(?:^|\D)(?:28|81|379|380)(?:\D|$)/

\D匹配非数字字符。

答案 1 :(得分:2)

\b表示单词边界。您可以这样使用它:

/\b28\b|\b81\b|\b379\b|\b380\b/

或者这样:

/\b(28|81|379|380)\b/