regex - 正则表达式匹配所有不包含引号的内容。

标签 regex

有这样的行:(想要的 CSV 中的行示例)

""",100,""a"sa",""," "","" ","a"z","a"",""z","""",""",200,"a"a",""

我想要一个匹配所有引号 " 的正则表达式未包含字符串...(在稍后阶段删除它们并构建 100% 兼容的 CSV)

我想出了这个部分解决方案:(?<!,)"(?!,)使用负向后查找和向前查找仅匹配不包含 "

它几乎成功了,但是每行的第一个字符和最后一个字符都是 " ,也由正则表达式匹配。

示例:https://regexr.com/41kve

我想要一个正则表达式来解决这个问题,所以第一个和最后一个字符不是匹配正则表达式的一部分

一些想法如何去做?

最佳答案

您可以使用

(?<!,|^)"(?!\s*(?:,|$))

请参阅regex demo

详细信息

  • (?<!,|^) - 当前位置左侧没有字符串或逗号开头
  • " - 双引号
  • (?!\s*(?:,|$)) - 否,或字符串结尾,紧邻当前位置的右侧,前面有 0+ 个空格。

关于regex - 正则表达式匹配所有不包含引号的内容。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52919929/

相关文章:

Java 正则表达式 URL 前缀删除

c# - 我想去掉除数字、$、逗号 (,) 以外的所有内容

java - 在java中从字符串中获取部分内容的最佳方法

c# - 所需关键字的正则表达式?

javascript - 仅匹配最后一个破折号后的数字的正则表达式

regex - 获取所有 perl 正则表达式捕获组的值

regex - 如何用空格替换行内制表符,保持对齐?

regex - 如何使用正则表达式删除第二次出现字符以外的所有内容?

用于复杂列表和整数组合的 python 正则表达式

regex - 使用 regexp_instr 获取字符串中的最后一个数字