Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 记事本++;正则表达式查找具有n个以上管道字符的行_Regex_Csv_Character_Notepad++ - Fatal编程技术网

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}