Regex 在单词Vs之前的每个字符更改后添加一个空行
使用TextFx工具,我删除了重复的行。Regex 在单词Vs之前的每个字符更改后添加一个空行,regex,notepad++,Regex,Notepad++,使用TextFx工具,我删除了重复的行。 问题是:要将“Vs”之前的部分相同的行分组。 我想在更改后添加一个空行 范例 前一行: - traveling by plane Vs By TGV train. - travel by plane Vs By TGV train. - traveling by Bike Vs By Cycle. - travel With plane Vs By TGV train. - traveling by Bike Vs By TGV train. - tra
问题是:要将“Vs”之前的部分相同的行分组。 我想在更改后添加一个空行 范例 前一行:
- traveling by plane Vs By TGV train.
- travel by plane Vs By TGV train.
- traveling by Bike Vs By Cycle.
- travel With plane Vs By TGV train.
- traveling by Bike Vs By TGV train.
- traveling by Bike Vs By Cycle.
- traveling by Bike Vs By TGV.
- traveling by Car Vs By TGV train.
- traveling by Car Vs By Truck.
- traveling by Car Vs By Bike.
- traveling by Car Vs By TGV.
之后的行:
- traveling by plane Vs By TGV train.
- travel by plane Vs By TGV train.
- travel With plane Vs By TGV train.
- traveling by Bike Vs By TGV train.
- traveling by Bike Vs By TGV.
- traveling by Bike Vs By Cycle.
- traveling by Car Vs By TGV train.
- traveling by Car Vs By TGV.
- traveling by Car Vs By Truck.
- traveling by Car Vs By Bike.
我猜这就是你想要的-替换
^(.*?)\bVs\b(?!.*\s+\1).*
与
正则表达式首先匹配一行的开头,然后将^
到单词Vs的所有内容捕获到组2中。匹配单词后,它使用一个否定的前瞻,确保下一行的开头与这一行不同(将任何内容与*
行尾相匹配,将换行符与\s+
相匹配,然后使用对捕获的行首的反向引用)。如果该负前瞻匹配(下一行与当前行的开始方式不同),则在当前行(新组)之后插入一个换行符是匹配的,因此我们最终匹配该行的其余部分
将匹配的行替换为自身(整个匹配-$0
)加上一个换行符-$0\n
.我发现“角色的每一次变化”都有点不清楚/误导。从您的示例判断,您希望将“Vs”之前的部分相同的行分组?
$0\n