尝试匹配以 ly 结尾但不以 comparative/superlative 形式结尾的副词

Trying to match adverbs ending with ly but not comparative/superlative forms

我有以下副词:

fastly onffly fly incomprehensibly totaly happily 

lily sly more happily 

most seriously

我只想匹配以ly结尾的副词的正常形式,而不是以ly结尾的比较级和最高级。

上面的例子,如果前一个单词是more或者[=24=,我不想匹配以ly结尾的单词]最多.

我试过这样做:

(?:^[more|most])\s?\w*ly

但是我没有得到任何匹配项。任何想法? demo that I tried to rework.

没有 "universal regex",如果您使用的是正则表达式,则在幕后有一些正则表达式库。在你的例子中,你试验过 PCRE 正则表达式库,所以你可以考虑

\b(?<!\bmore |\bmost )\w*ly\b

demo. Or, a SKIP-FAIL regex:

\b(?:more|most)\s+\w*ly(*SKIP)(*F)|\w*ly\b

参见 another regex demo

详情

  • \b - 单词边界
  • (?<!\bmore |\bmost ) - 在当前位置
  • 之前不应有完整的单词 moremost 后跟 1 space
  • \w* - 0+ 个单词字符
  • ly\b - ly 单词结尾(ly 后跟单词边界)。

在 SKIP-FAIL 正则表达式中,\b(?:more|most)\s+\w*ly 匹配所有 moremost ~ly 单词组合,丢弃它们并匹配带有 ly 后缀的单词在其他位置。