Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在单词Vs之前的每个字符更改后添加一个空行_Regex_Notepad++ - Fatal编程技术网

Regex 在单词Vs之前的每个字符更改后添加一个空行

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

使用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.
- 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