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

标签 javascript regex

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

例如,对于单词“test”:

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

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

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

这将匹配“测试”的每个实例。我试过使用 ^ 和 $ 修饰符,但它们只会匹配 x3。然而,这个:`

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

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

最佳答案

只需使用 | 匹配一个或另一个。

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

另请注意,您无需将 TEST 括起来。

关于javascript - 仅在字符串的开头/结尾匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46677462/

相关文章:

javascript - 防止 LI 上没有子 UL 的 "open"类

javascript - 如果操作数有小数,正则表达式可以防止逗号分隔符

javascript - 除非已经有链接,否则将 URL 转换为链接

java - regex - 匹配 Java/Scala 字符串中单词末尾的标点符号

regex - 修复preg_match规则不匹配标签 “<”的开头

javascript - Backbone JS 复杂模型获取

javascript - 使用 JS 的 CSS 代码更少

c# - 单击同级元素时会触发 Click 事件

javascript - 使用数据点创建 'thermal image'

java - 如何使用主元将字符串分成两部分?