如何使用正则表达式持续分组直到行尾并匹配绿色高亮内容

正则匹配修正方案
原有正则存在的问题
- 行首锚定
^重复嵌套,逻辑冲突 - 中间行匹配规则
(\S.\n$)限制过死,仅能匹配2字符长度的行,无法覆盖任意长度的多行内容 - 前瞻终止条件仅匹配
\w开头的下一行,覆盖场景不全
修正后正则
^(?!\t)(?:FULL|SMALL)?.*?(?=\R^(?!\t)|\z)
必须开启的修饰符
m(多行模式):使^可以锚定每一行的行首位置s(点号通配模式):使.可以匹配换行符,实现跨行匹配
规则说明
^(?!\t):限定匹配起始位置为非制表符开头的行首(?:FULL|SMALL)?:可选匹配行首的FULL/SMALL前缀,非捕获组不会额外占用分组位.*?:非贪婪匹配任意内容,包含换行(?=\R^(?!\t)|\z):终止匹配的触发条件:要么遇到下一个非制表符开头的行,要么匹配到整个文本的末尾
内容的提问来源于stack exchange,提问作者mangadrawing.123
相关产品推荐
相关产品推荐

