我正在寻找正则表达式后视替代方案,因为 autodl-irssi 不支持它。
这是我当前的工作正则表达式和测试字符串:
https://regex101.com/r/Cg6mPv/1
我认为正则表达式需要以下替换(模式修饰符和正向后视):
(?i)(?<=\s|^|\W)
突出显示包含任何这些单词的每一行(不区分大小写):
*update*
*dlc*
*expansion*
*artwork*
*fix*
*keygen*
*goodies*
*guide*
*trainer*
如果行包含一个单词,则不突出显示(不区分大小写):
*fitgirl*
感谢任何帮助!
答案 0 :(得分:1)
(?<=\s|^|\W)
模式基本上等于 (?<=^|\W)
或 (?<!\w)
,字符串中的一个位置,可以是字符串的起始位置,也可以是紧接在非单词字符 (即除字母、数字或 _
以外的字符。
因此,匹配跟随一个单词字符的单词边界位置是有意义的:
\b(?=\w)
此构造等于 \m
或 [[:<:]]
leading 一些(不是很多)正则表达式风格支持的单词边界构造,并且只需要一个单词 char 立即出现在他们的右边。