Regex替换逗号分隔列表中的单词
Regex to replace word in comma separated list
我正在使用javascript.replacement()从逗号分隔的单词列表中删除一个单词,并有一个有效的解决方案,但它很笨拙,我认为一定有更好的解决方案。
regex看起来像:
/,word1|word1,?/
处理前导、嵌入和尾随的情况,并删除正确数量的逗号,例如
word1,word2,word3
word2,word1,word3
word2,word3,word1
All result in word2,word3
word1 on its own is removed completely
有没有一种方法可以在正则表达式模式中不使用重复的单词1?
没有更好或更短的模式可以做到这一点。你所能做的就是通过在逗号可能缺失的地方添加单词边界来避免误报:
,word1'b|'bword1'b,?
如果你必须处理一个大字符串,并且只有在第一个字母不太频繁的情况下,你可以尝试使用第一个字符识别技术来减少测试模式的位置数量:
(?=[,w])(?:,word1'b|'bword1'b,?)
(注意,你需要在现实生活中测试一下,看看它是否真的有益。)
没有正则表达式的其他方式
如果您的目标字符串只是一个逗号分隔的列表,那么使用拆分/联接仍然是最佳解决方案。
相关文章:
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 如何根据 js 中每个单词的第 n 个字母按字母顺序排列列表
- 如何将单词列表拆分为数组
- JQuery-从单词列表生成网格
- JavaScript-从脚本中的单词列表创建一个html表或网格
- 如何更新单词列表中搜索框中包含用户键入内容的单词/字母数
- 创建一个输入,该输入在用户键入后立即不断更新单词列表
- 忽略单词列表
- JavaScript中要忽略的单词列表
- 如何检查我的 chrome 扩展程序的 if 语句中的单词列表
- 如何使用Javascript正则表达式从可能的单词列表中获取单词的最后一次出现
- 在JavaScript中,如何使用regex进行匹配,除非单词在排除的单词列表中
- 如何使用正则表达式来获取阿拉伯字符串中的单词列表?
- 将单词列表转换为数组
- 向单词列表添加一些文本
- 有没有“电影演职员表”滚动显示?样式插件的单词列表
- 获取字符串中包含子字符串的单词列表
- 使用可选的包含和排除单词列表来定位一组单词
- 纯Javascript -查找/替换DOM中的单词列表
- JavaScript表单验证 - 值长度和阻止的单词列表