【问题标题】:Regex find incorrect "正则表达式发现不正确“
【发布时间】:2016-04-06 15:49:27
【问题描述】:

我正在尝试构建一个正则表达式以在 csv 文件中查找错误的 ": 例如

,"Nori",,,,,896282962,23.07.2013,,,,"Lady Love "Karo","w",

Karo 之前的" 是错误的,但,"", 列内可以有多个"。 因此,每个,"", 都是正确的,但" 带有前导或后续字符并且在字符之前或之后没有, 是不正确的。 谁能帮我找到正确的正则表达式模式?

问候。

【问题讨论】:

  • 如果我理解你的问题是正确的,你应该能够为此使用负面的lookbehinds和negative lookaheads。
  • 不应该 CSV 格式允许在字段中使用双 " 来表示文字 "

标签: regex csv


【解决方案1】:

你可以使用以下来匹配:

(?<!,|^)"(?!,|$)

RegEX DEMO

说明:

  • (?&lt;!,|^) :负向后检查以检查 , 或字符串的开头
  • ":匹配报价
  • (?!,|$) :负前瞻检查 , 或字符串结尾

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多