给定以下正则表达式
/144*/g
我希望它匹配 14450、14445,但不是 14。
我想要的是匹配前 3 个字符是 144 和之后的任何字符。
var zip = '14';//Don't want this to match
var search = new RegExp('144*', 'g');
if (zip.match(search)) //TRUE
我想要的是匹配前 3 个字符是 144 和之后的任何字符。
为此,您不需要正则表达式或字符串操作。您可以使用string.indexOf
并检查144
是否位于字符串的开头(第 0 个索引):
const isOneFourFour = zip.indexOf('144') === 0
您可以使用此正则表达式,它将匹配任何以144
开头的文本,但不匹配14
^(?!14$)144.*$
这种负面的前瞻(?!14$)
停止与数字匹配14
其余部分都是允许的。
正则表达式演示
消极的展望确实是多余的,你可以把它写成^144.*$
或^144d*$
您的模式144*
匹配 14,然后重复 0+ 次数字 4。
这将匹配例如 14、144 或 14444444
如果您希望匹配项以 14 开头,后面的内容应该是 1 位或多位数字,您可以使用:
^144d+
正则表达式演示