上下两行内容合并正则有办法能实现吗

2023-07-30 10:28:03 +08:00
 iamhrh2
em 正则有办法能实现吗,或是多步骤能否实现

效果前
〖 BH 〗 AAA 〖〗〖〗〖〗〖〗 0.020 〖〗-0.017
〖 BH 〗〖〗〖〗〖〗〖〗(0.027)〖〗(0.015)
〖 BH 〗 BBB 〖〗〖〗〖〗〖〗-0.225**〖〗 0.018**
〖 BH 〗〖〗〖〗〖〗〖〗(0.113)〖〗(0.009)
〖 BH 〗 CCC 〖〗-1.087***〖〗 0.413***〖〗〖〗-0.966***〖〗 1.033***
〖 BH 〗〖〗(0.147)〖〗(0.081)〖〗〖〗(0.175)〖〗(0.323)

效果后
〖 BH 〗 AAA 〖〗〖〗〖〗〖〗 0.020(0.027)〖〗-0.017(0.015)
〖 BH 〗 BBB 〖〗〖〗〖〗〖〗-0.225**(0.113)〖〗 0.018**(0.009)
〖 BH 〗 CCC 〖〗-1.087***(0.147)〖〗 0.413***(0.081)〖〗〖〗-0.966***(0.175)〖〗 1.033***(0.323)
1686 次点击
所在节点    正则表达式
10 条回复
tjxwork
2023-07-30 11:41:17 +08:00
https://regex101.com/

正则表达式
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\))
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\))
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\))

换行部分自己换成"\n"



测试文本
〖 BH 〗 AAA 〖〗〖〗〖〗〖〗 0.020 〖〗-0.017
〖 BH 〗〖〗〖〗〖〗〖〗(0.027)〖〗(0.015)
〖 BH 〗 BBB 〖〗〖〗〖〗〖〗-0.225 〖〗 0.018
〖 BH 〗〖〗〖〗〖〗〖〗(0.113)〖〗(0.009)
〖 BH 〗 CCC 〖〗-1.087 〖〗 0.413 〖〗〖〗-0.966 〖〗 1.033
〖 BH 〗〖〗(0.147)〖〗(0.081)〖〗〖〗(0.175)〖〗(0.323)

替换
$1$2$5$3$4$6\n$7$8$11$9$10$12\n$13$14$21$15$16$22$17$18$23$19$20$24

结果
〖 BH 〗 AAA 〖〗〖〗〖〗〖〗 0.020(0.027) 〖〗-0.017(0.015)
〖 BH 〗 BBB 〖〗〖〗〖〗〖〗-0.225(0.113)〖〗 0.018(0.009)
〖 BH 〗 CCC 〖〗-1.087(0.147)〖〗 0.413(0.081)〖〗〖〗-0.966(0.175)〖〗 1.033(0.323)

来,V 我 50
tjxwork
2023-07-30 11:46:44 +08:00
paopjian
2023-07-30 12:12:23 +08:00
这种逻辑合并,把空格当做分隔符处理表格可以吗
28Sv0ngQfIE7Yloe
2023-07-30 12:14:42 +08:00
我觉得有比正则更好的方案
iamhrh2
2023-07-30 12:39:58 +08:00
@Morii 求方法。别的软件也行?
iamhrh2
2023-07-30 12:49:57 +08:00
@tjxwork #1
这个没看懂。EMEDITOR 能实现吗或是别的软件能实现也行。可有偿
tjxwork
2023-07-30 13:02:11 +08:00
@iamhrh2

VSCode
Ctrl+H
Alt+R 启用正则

分别粘贴

查找
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})\n.*?(\(.*?\)).*?(\(.*?\))\n(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})\n.*?(\(.*?\)).*?(\(.*?\))\n(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})\n.*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\))

替换
$1$2$5$3$4$6\n$7$8$11$9$10$12\n$13$14$21$15$16$22$17$18$23$19$20$24
tjxwork
2023-07-30 13:04:53 +08:00
@iamhrh2


EmEditor


查找,点 “>” 启用多行
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\))
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\))
(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})(.*?)(-?\d.\d{3,})
.*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\)).*?(\(.*?\))


替换为
\1\2\5\3\4\6
\7\8\11\9$10$12
$13$14$21$15$16$22$17$18$23$19$20$24

EmEditor 这替换怪得很……
tjxwork
2023-07-30 13:06:47 +08:00
iamhrh2
2023-07-30 14:03:34 +08:00
@tjxwork #9 确实怪。我这里面还只是示例。还有些特珠符号没放上去。刚弄半天没弄好。方便加下 Q 吗? 35872693 。。有偿只是一点心意。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX