从正则表达式匹配中排除最后一次出现

时间:2015-10-16 12:08:19

标签: regex pattern-matching notepad++

我想选择除每行上最后一次出现的所有空格,以便我可以用单个分隔符替换空格以进行导入。

enter image description here

匹配是所有空格组。每行末尾都有CRLF。我尝试使用和不使用$,\ r \ n等等。我觉得我错过了很明显,但到目前为止还没能用谷歌把它固定下来。

我已经尝试过负面的预测。不幸的是,在Notepad ++中,匹配中包含 CRLF ,因此当我尝试替换数据时,它会删除新行。

1 个答案:

答案 0 :(得分:1)

如果我很清楚你想要做什么,

使用regexpal(检查m修饰符框):

(?=([^\r\n\S]+))\1(?!$)

其中(?=(...))\1是使用javascript模拟atomic group的技巧,[^\r\n\S]类似于\s但没有\r\n

使用记事本++:

\h++(?!$)

其中\h代表任何水平空格(此类在javascript中也不可用),++是possessive quantifier。请注意,默认情况下$表示记事本++中的行尾。