写了一小段代码:
var a = "температура, температуры, температуров, температур, температурой"; /*текст*/
var b = "температур"; /*что заменяем*/
a.replace(new RegExp(b, 'g'),"осадок"); /*на что заменяем*/
这导致了以下响应:
осадока, осадокы, осадоков, осадок, осадокой
如何确保只替换我们指定的内容?
由于字边界
\b
仅适用于 ASCII 字符,因此必须使用“自定义实现”。例如,使用新的 ECMAScript 2018,您可以使用前瞻块
(?<![\p{L}\p{M}\p{N}_])
和(?![\p{L}\p{M}\p{N}_])
修饰符标志来实现单词边界u
。以下代码示例适用于 Chrome、Opera、Node.js,但不幸的是不适用于 FireFox 和 IE:
您可以使用简化的方法:将俄语字母 =>添加到
\w
(= ) ,然后您将获得以下示例,该示例适用于所有浏览器和环境:[a-zA-Z0-9_]
[a-zA-Z0-9а-яА-ЯёЁ_]