在开头或结尾使用特殊字符匹配单词
Matching words with special characters at the beginning or end
这是一个
反复出现的话题,但我无法找到一个好的解决方案。我需要在javascript中使用正则表达式与我的页面内容匹配单词,这些单词绝对必须是单词,而不是单词的一部分。然而,其中一些以这个集合中的一个字母开头或结尾:[zżźćńółęąśŻŹĆĄŚĘŁÓŃA]。
单词边界显然不适用于结尾或开头的这些。用它们的 unicode 对应项替换它们似乎也不起作用。
现在我正在使用一个技巧:我将 1 到 9 的数字分配给列表中的小写字母,并且我正在检查单词中的任何字母是否与字符字典中的任何键匹配。如果是这样,它会被替换为一个数字,然后我在需要匹配的内容中以相同的方式替换它。
它有点工作,但这是一个一半的措施,这意味着正则表达式不再区分大小写,我真的很想拥有。
肯定必须有一个干净的解决方案吗?
按照评论中的要求进行编辑...
/'bbudyń'b/g
布丁 布丁阿斯达
匹配粗体,应匹配第一个单词,并保持另一个单词不变。
/'bósemka'b/g
Ósemka asdaósemka
同样。
试试这个:
/(?:'s|^)(ósemka)(?='s|$)/g
上面的一个假设单词后面只有一个空格字符(或字符串的结尾)。 但是,如果单词后面可能还有其他字符,例如句点、问号等,那么这应该有效。
/(?:'s|^)(ósemka)(?=['s'.'?!;]|$)/g
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 获取特殊字符后没有单词的句子
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 匹配可能具有特殊字符的单词
- 用于匹配精确单词的正则表达式会影响特殊字符匹配
- 在开头或结尾使用特殊字符匹配单词
- Javascript 正则表达式:匹配除允许的特殊字符之外的任何非单词
- 如何在javascript中用一个特殊字符开头的单词内的空格替换下划线
- 查找包含特定字母和特殊字符的所有单词
- Regex匹配所有单词,但以特殊字符开头和结尾的单词除外
- 用于整个单词匹配的Javascript正则表达式,也可能包含特殊字符
- Regex捕获空格和特殊字符,除了单词中的连字符
- 如何避免自然的为node.js拆分带有特殊字符的单词
- JavaScript正则表达式-只接受两个没有特殊字符的单词
- Regex避免数字和特殊字符,并允许单词之间有空格