【发布时间】:2022-01-17 13:47:54
【问题描述】:
我需要在javascript中替换字符串中的一个或两个字母,但字母相同,那么如果我替换两个外观之一,则格式不正确:
HH:mm z [on] D MMM YYYY
HH:mm zz [on] D MMM YYYY
在示例中的第一种情况下,z 应由 CEST 替换,而 zz 应由中欧夏令时替换。
我尝试使用正则表达式,但可以替换第一个模式的确切出现而不影响第二个模式?
【问题讨论】:
-
这里的两个替代品是什么,您可以将它们包括在您的问题中吗?
-
替换为 z 和 zz。
-
yourstring.replace(/\bz\b/g, 'CEST') // 将替换 'z' 而不是 'zz'
-
如果你使用正则表达式
\bzz\b|\bz\b,'zz'如果存在则匹配,否则'z'如果存在则匹配。然后,您可以根据匹配的内容替换匹配项。请注意,交替必须首先尝试匹配'zz';\bz\b|\bzz\b将不起作用。
标签: javascript regex