使用两个分隔符之一拆分字符串,但保留分隔符

本文关键字:分隔符 拆分 字符串 保留 两个 | 更新日期: 2023-09-27 18:28:15

使用regex(或其他方法),如何在5050或1010的处拆分此文本

505079000012345    ORE
10201 00
1030CA
1030AL
505079000012346    ORE
10201 00
1030CA
1030AL
101014003412    ORE
10201 00
1030CA
1030AL
505079000012347    ORE
10201 00
1030CA
1030AL
101014003413    ORE
10201 00
1030CA
1030AL

这样得到的字符串是(注意,我想在每个字符串组的开头保留分隔符字符串):

505079000012345    ORE
10201 00
1030CA
1030AL
505079000012346    ORE
10201 00
1030CA
1030AL
101014003412    ORE
10201 00
1030CA
1030AL
505079000012347    ORE
10201 00
1030CA
1030AL
101014003413    ORE
10201 00
1030CA
1030AL

使用两个分隔符之一拆分字符串,但保留分隔符

将此模式与mg选项一起使用

^(?=5050|1010)  

演示


'R(?=5050|1010),用'r'n'r'n替换演示

您可以使用捕获所有匹配项

/((?:5050|1010)(?:(?!5050|1010).)*)/gs

DEMO(查看右侧面板上的Match信息)

结果是每个匹配的数组

希望能有所帮助。