gpt4 book ai didi

regex - 跨多行匹配正则表达式

转载 作者:行者123 更新时间:2023-12-05 08:57:13 25 4
gpt4 key购买 nike

我在一个文本文件中有多个列表,如下所示。它始终以 0 开头,并且始终以换行符开头的单词 Unique 结尾。除了带有 Unique 的行之外,我想摆脱所有这些。我查看了 stackoverflow 并尝试了以下操作,但它返回了整个文本文件(文件中还有其他字符串我没有放在这个例子中)。基本上问题是如何在正则表达式选择中考虑换行符

^0(.|\n)*

输入:

0       145
1 139
2 175
3 171
4 259
5 262
6 293
7 401
8 430
9 417
10 614
11 833
12 1423
13 3062
14 10510
15 57587
16 5057575
17 10071
18 375
19 152
20 70
21 55
22 46
23 31
24 25
25 22
26 25
27 14
28 16
29 16
30 8
31 10
32 8
33 21
34 8
35 51
36 65
37 605
38 32
39 2
40 1
41 2
44 1
48 2
51 1
52 1
57 1
63 2
68 1
82 1
94 1
95 1
101 3
102 7
103 1
110 1
111 1
119 1
123 1
129 2
130 3
131 2
132 1
135 1
136 2
137 7
138 4
Unique: 252851

预期输出:

Unique: 252851

最佳答案

你需要使用类似的东西

^0[\s\S]*?[\n\r]Unique:

并替换为 Unique:

  • ^ - 行首
  • 0 - 文字 0
  • [\s\S]*? - 零个或多个字符,包括。尽可能少的换行符
  • [\n\r] - 换行符
  • Unique: - 一个完整的单词 Unique:

另一种可能的正则表达式是:

^0[^\r]*(?:\r(?!Unique:)[^\r]*)*

其中 \r 是当前文件中的行结尾。替换为空字符串。

请注意,您还可以使用 (?m)^0.*?[\r\n]Unique: 正则表达式(替换为 Unique:) (?m) option :

m: multi-line (dot(.) match newline)

关于regex - 跨多行匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35081396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com