这是一个反复出现的话题,但我找不到一个好的解决方案。我需要用javascript中的正则表达式来匹配我的页面内容,而那些绝对必须是单词,而不是单词的一部分。然而,其中一些以这一集中的一封信开头或结尾:[zżźćńółęąśŻŹĆĄŚĘŁÓŃA]。
在最后或开头,词边界显然不适用于这些。用它们的unicode对应物替换它们似乎也不起作用。
现在我正在使用黑客:我将数字从1到9分配给列表中的小写字母,我正在检查单词中的任何字母是否与字符字典中的任何键匹配。如果是这样,它会被一个数字取代,然后我在我需要匹配的内容中以相同的方式替换它。
它有点工作,但它是一个半度量,这意味着正则表达式不再区分大小写,我真的很想拥有。
当然必须有一个干净的解决方案?
在评论中提出编辑......
/\bbudyń\b/g
budyńbudyń asda
匹配粗体,应与第一个单词匹配,并使另一个单词完好无损。
/\bósemka\b/g
ósemkaasdaósemka
同样。
答案 0 :(得分:0)
试试这个:
/(?:\s|^)(ósemka)(?=\s|$)/g
上面的假设该单词后面只跟一个空格字符(或字符串的结尾)。但是如果还有其他字符可能跟在句号,问号等单词之后,那么这应该有效。
/(?:\s|^)(ósemka)(?=[\s\.\?!;]|$)/g