Javascript 仅在字符串的开始/结束处匹配正则表达式
正如标题所示,我试图对字符串使用.match()函数,以便只匹配发生在该字符串开头或结尾的实例(但不匹配中间的位置) 例如,在“测试”一词上: 只有x1、x2和x3应该与正则表达式匹配。目前,我有:Javascript 仅在字符串的开始/结束处匹配正则表达式,javascript,regex,Javascript,Regex,正如标题所示,我试图对字符串使用.match()函数,以便只匹配发生在该字符串开头或结尾的实例(但不匹配中间的位置) 例如,在“测试”一词上: 只有x1、x2和x3应该与正则表达式匹配。目前,我有: .toUpperCase().match(/(TEST)/) 它将匹配“test”的每个实例。我已经尝试使用了^和$修饰符,但它们只匹配x3。然而,这一点:` .toUpperCase().match(/(TEST)$/) 将仅匹配x2和x3,并使用.toUpperCase().match(/^
.toUpperCase().match(/(TEST)/)
它将匹配“test”的每个实例。我已经尝试使用了^和$修饰符,但它们只匹配x3。然而,这一点:`
.toUpperCase().match(/(TEST)$/)
将仅匹配x2和x3,并使用
.toUpperCase().match(/^(TEST)/)
仅匹配x1和x3。只需使用匹配其中一个
.toUpperCase().match(/^TEST | TEST$/)
还请注意,您不需要在TEST
周围加括号
/^TEST.*|.*TEST$/
如果这个正则表达式以“TEST”开头或结尾,它将匹配一行。添加m
以匹配多行
注意:此正则表达式将返回整行内容这可能取决于您的用例,但您可以跳过.toUpperCase()
,只需使匹配不区分大小写:.match(/^TEST | TEST$/i)
谢谢您的帮助!这是一个关于区分大小写的好建议@benschumacher,也谢谢你
/^TEST.*|.*TEST$/