我需要一个JS正则表达式,它将找到不被任何相等的单词字符包围的单词字符的匹配项。例如,如果我们要查找b,则它应与aba或ubu相匹配,而不应与abc或bca相匹配。
给定字符串中的任何字符都是小写英文字母,它们是交替的(例如,我们可以有ababa但不能bbaa)。
我尝试使用类似的环顾:
/b(?=a)/g
但是我没有弄清楚如何替换a,以便我们知道它与
b
左右两侧的符号相同。任何见解均表示赞赏。 最佳答案
使用以下正则表达式:
(.)(b)(?=\1)
您可以匹配这些字符。如果需要操纵包围的
b
,则可以这样编写:> "aabb aba".replace(/(.)(b)(?=\1)/g, function(match, p1, p2) {
return p1 + 'c';
});
< "aabb aca"