new line integer | string | integer ||
请注意最后的双垂直条,单个竖条正在使用分隔符。
例如,可以找到以下粗体:
11 |任何字符串和数字| 939 | ANY STRING |包括分隔符在内的任何内容|
138151 |任何字符串和数字| 90139 ||包括分隔符在内的任何内容|
13811 |任何字符串和数字9 | 885 | Morestring |包括分隔符在内的任何内容|
我在寻找第3和第4个分隔符之间的字段为空的行。
答案 0 :(得分:1)
我想你想要这个:
^\d+\|[^|]+\|\d+\|\|
打破这个局面:
^
表示“行首”\d+
表示“至少一位数”\|
表示“一个文字竖条字符”(需要转义它,因为它本身就意味着“逻辑或”)[^|]+
表示“至少有一个非竖线字符”。请注意,不需要转义字符类[...]
中的字符(当然除了右括号]
)。答案 1 :(得分:1)
根据语言/正则表达式的风格,您可以使用如下表达式:
(?mx) ^ \d+ \| [^|]+ \| \d+ \|\| .*
答案 2 :(得分:1)
^[0-9]+\|[ a-zA-Z0-9_]+\|[0-9]+\|.*\|$
您需要为您调整什么是“文本”并将组提取出来。您可以在此处进行测试:http://www.regextester.com/
答案 3 :(得分:1)
对于单行:
\d+\|[^|]+\|\d+\|\|.*
对于多行:
^\d+\|[^|]+\|\d+\|\|.*$