写正则表达式,找到单l字到双l字

时间:2018-06-14 20:27:13

标签: regex firefox

我想制作一个将英国英语转换成美式英语的正则表达式。其中一部分是转换像"分期付款和#34;到"分期付款"。我目前有这个

\b([A-Za-z]*)l(?<!ll)(ful|ment)

它效果很好,但只是在Chrome中;由于负面的背后隐藏,它在Firefox上崩溃了。不过,我需要外观,以防止&#34;分期付款&#34;从成为&#34;安装&#34;。

1 个答案:

答案 0 :(得分:0)

您可以使用

/\b(?![A-Za-z]*ll(?:ful|ment)\b)([A-Za-z]*)l(ful|ment)\b/

请参阅regex demo

<强>详情

  • \b - 字边界(单词的开头)
  • (?![A-Za-z]*ll(?:ful|ment)\b) - 单词末尾没有0 +字母,llfulment
  • ([A-Za-z]*) - 第1组:0 + ASCII字母
  • l - l
  • (ful|ment) - fulment
  • \b - 结尾。