Regex 正则表达式,用于在分隔符之间查找两个以上的字符

Regex 正则表达式,用于在分隔符之间查找两个以上的字符,regex,Regex,我有一组大数据文件需要批量加载到数据库中。数据行以管道分隔,但也使用倒逗号“来描述文本条目。问题是,许多文本块还包含一个或多个额外的”字符,而不是字段开头/结尾的字符,这会中断导入 我正在寻找一个正则表达式,它允许我在文件中查找每一组| |分隔符之间包含两个以上“字符”的行 比如说 123 |“史密斯先生”| 456 |“没有多余的倒逗号,这行可以”| 789 123 |“琼斯先生”| 456 |“这一个有“额外的倒逗号”,不太好”| 789 123 |“琼斯先生”| 456 |“甚至还有一个”

我有一组大数据文件需要批量加载到数据库中。数据行以管道分隔,但也使用倒逗号“来描述文本条目。问题是,许多文本块还包含一个或多个额外的”字符,而不是字段开头/结尾的字符,这会中断导入

我正在寻找一个正则表达式,它允许我在文件中查找每一组| |分隔符之间包含两个以上“字符”的行

比如说

123 |“史密斯先生”| 456 |“没有多余的倒逗号,这行可以”| 789

123 |“琼斯先生”| 456 |“这一个有“额外的倒逗号”,不太好”| 789

123 |“琼斯先生”| 456 |“甚至还有一个”都有点问题”| 789

我需要找到像上面第二行和第三行一样的行

感谢您的帮助


谢谢,可以通过如下管道将输出传输到awk来完成。假设输入中的管道确实出现在每条线的起点和终点

| awk -F'|' 'BEGIN{OFS="|";}{ \
  for (i = 1; i <= NF; i++) { \
    if (gsub(/"/, "\"", $i) > 2) { \
      print; break; \
    }; \
  }; \
}'
|awk-F'|''开始{OFS=“|”;}{\
对于(i=1;i2){\
打印;中断\
}; \
}; \
}'

您使用的是什么引擎?请格式化您的输入字符串示例还有您已经尝试了什么?@Shafizadeh-我正在使用记事本+++@Robin中的正则表达式搜索功能-我是正则表达式的完全新手,发现它们很难理解,所以很遗憾,我自己还没有弄明白这一点