Regex 记事本++;正则表达式查找具有n个以上管道字符的行
我又一次遇到了记事本++中正则表达式的问题,因为我对它知之甚少。Regex 记事本++;正则表达式查找具有n个以上管道字符的行,regex,csv,character,notepad++,Regex,Csv,Character,Notepad++,我又一次遇到了记事本++中正则表达式的问题,因为我对它知之甚少。 我有一个.csv文件,但我需要找到包含n(比如4)个或更多管道字符的所有行。 我拥有的字符串示例: 6454345|User1-2ds3|62562012032|9c1fe63ccd3ab234892beaf71f022be2e06b6cd1 3305611|User2-42g563dgsdbf|22023001345|c36dedfa12634e33ca8bc0ef4703c92b73d9c433 8749412|User3-9
我有一个.csv文件,但我需要找到包含n(比如4)个或更多管道字符的所有行。
我拥有的字符串示例:
6454345|User1-2ds3|62562012032|9c1fe63ccd3ab234892beaf71f022be2e06b6cd1
3305611|User2-42g563dgsdbf|22023001345|c36dedfa12634e33ca8bc0ef4703c92b73d9c433
8749412|User3-9|xgs|f|98906504456|411b0fdf54fe29745897288c6ad699f7be30f389
5151540|User4-jy|n|12202310|6a54c608289f4aedfab63ca640bcd5d174fd8592
我需要找到这些字符串,它们有4个或更多管道字符:
8749412|User3-9|xgs|f|98906504456|411b0fdf54fe29745897288c6ad699f7be30f389
5151540|User4-jy|n|12202310|6a54c608289f4aedfab63ca640bcd5d174fd8592
我在这里做了一些搜索,但找不到我要找的确切内容,到目前为止,我使用了这些问题中提供的答案,除此之外,我没有找到任何类似的答案:我将请求的字符替换为管道字符,但这对我不起作用。您可以使用以下两个表达式中的任意一个来匹配具有4个管道的行:
^(.*?\|){4}
或
请注意,您需要关闭
匹配换行选项,以使第一个模式正常工作
图案细节:
-行首^
-除换行符以外的任何字符出现4次,尽可能少,直到第一个(.*.\\\\}{4}
字符,然后是一个
字符
-匹配任何字符,但不匹配[^ |\r\n]
、CR和LF符号
您刚才是使用了
还是\\\
?请把你试过的贴出来。另外,您需要如何处理这些线路?只是找到?或者以任何方式替换/修改?我只需要找到这些行并手动修复它们,因为它们都需要不同的处理。这就是我试过的例子:^[^\\\\r\n]*(?:\\\\\\\\\\\\\\\\\\\\r\n]*){4,}或者这个:^(^[^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\{4,}和这个:^(^[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。非常感谢@Dyon:请注意,要在正则表达式中使用文本|
,需要对其进行转义,或者将其放入字符类[…]
。在字符类中,许多字符失去了其特殊意义:[(){+$]
匹配一个字符,该字符可以是文字(
,)
,{
,+
,$
符号。
^([^|\r\n]*\|){4}