我的文字如下所示:
Text1 | Text2 | Text3 | Text4 | Text5 | Text6 | Text7
我想像这样改变文本位置
Text1 | Text4 | Text5 | Text6 | Text2| Text3 | Text7
如果可以删除|
在文本 4、5、6 之间,这样它看起来像
Text1 | Text4 Text5 Text6 | Text2 | Text3 | Text7
如果不可能,如果第一个问题得到解决,我会很高兴。
您可以使用
^([^|]*\|)((?:[^|]*\|){2})((?:[^|]*\|){3})
并替换为$1$3$2
.
Details:
-
^
- 一行的开头
-
([^|]*\|)
- 第 1 组($1
)捕获零个或多个字符,除了|
然后是字面意思|
-
((?:[^|]*\|){2})
- 第 2 组($2
) 捕获与第 1 组中相同模式的 2 个序列
-
((?:[^|]*\|){3})
- 第 3 组($3
) 捕获与第 1 组中相同模式的 2 个序列
该顺序随着替换模式中反向引用的顺序而改变。
删除第二个、第三个和第四个|
,使用类似的表达式:
找什么: ^([^|]*\|)([^|]*)\|([^|]*)\|([^|]*)
用。。。来代替: $1$2$3$4
基本上,您只需操作捕获组边界和替换模式中反向引用的顺序,仅此而已。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)