正则表达式后视替代方案

时间:2021-06-16 17:28:07

标签: regex irssi

我正在寻找正则表达式后视替代方案,因为 autodl-irssi 不支持它。

这是我当前的工作正则表达式和测试字符串:

https://regex101.com/r/Cg6mPv/1

我认为正则表达式需要以下替换(模式修饰符和正向后视):

(?i)(?<=\s|^|\W)

突出显示包含任何这些单词的每一行(不区分大小写):

*update*
*dlc*
*expansion*
*artwork*
*fix*
*keygen*
*goodies*
*guide*
*trainer*

如果行包含一个单词,则不突出显示(不区分大小写):

*fitgirl*

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

(?<=\s|^|\W) 模式基本上等于 (?<=^|\W)(?<!\w),字符串中的一个位置,可以是字符串的起始位置,也可以是紧接在非单词字符 (即除字母、数字或 _ 以外的字符。

因此,匹配跟随一个单词字符的单词边界位置是有意义的:

\b(?=\w)

此构造等于 \m[[:<:]] leading 一些(不是很多)正则表达式风格支持的单词边界构造,并且只需要一个单词 char 立即出现在他们的右边。