仅在字符串的开头/结尾处匹配正则表达式

时间:2017-10-10 23:26:44

标签: javascript regex

根据标题,我试图在字符串上使用.match()函数,只匹配在该字符串的开头或结尾出现的实例(但没有在中间的位置)。

例如,在“test”一词上:

x = "1 TEST 1"
x1 = "TEST 1"
x2 = "1 TEST"
x3 = "TEST"

只有x1,x2和x3应与正则表达式匹配。目前,我有:

.toUpperCase().match(/(TEST)/)

哪个匹配“test”的每个实例。我尝试过使用^和$修饰符,但它们只匹配x3。但是这个:“

.toUpperCase().match(/(TEST)$/)

仅匹配x2和x3,.toUpperCase().match(/^(TEST)/)仅匹配x1和x3。

2 个答案:

答案 0 :(得分:5)

使用|匹配其中一个。

.toUpperCase().match(/^TEST|TEST$/)

另请注意,您无需在TEST附近添加括号。

答案 1 :(得分:0)

/^TEST.*|.*TEST$/

如果该正则表达式以“TEST”开头或结尾,则该正则表达式将匹配一行。添加m以匹配多行

注意:此正则表达式将返回整行