Ruby Regex测试值是否为有效格式
我有一项任务,需要检查CSV列中的值是否正确引用: 案例:Ruby Regex测试值是否为有效格式,ruby,regex,Ruby,Regex,我有一项任务,需要检查CSV列中的值是否正确引用: 案例: 没有报价-好的 “带引号”-好的 “开场白-不好 不恰当的“报价”-不好 结束报价“-不好 CSV标记错误,如下所示: Illegal quoting in line 5. (CSV::MalformedCSVError) 问题:如何使用单个正则表达式使其工作?我需要为案例3-5标记错误 如果您知道CSV值是否有效,应该检查什么,请告诉我 编辑:我在下面添加了两个场景/案例: “引用”内部引用-不好 “引号”“内部引号”-不好 编辑:
Illegal quoting in line 5. (CSV::MalformedCSVError)
问题:如何使用单个正则表达式使其工作?我需要为案例3-5标记错误
如果您知道CSV值是否有效,应该检查什么,请告诉我
编辑:我在下面添加了两个场景/案例:
不考虑转义引号:
/^("[^"]*"|[^"]+)$/m
看到了
这意味着:
- 行首
- 1报价+除报价+1报价以外的任何报价,或
- 除引号以外的任何内容(至少一个字符)
- 行尾
- 不考虑转义引号:
/^("[^"]*"|[^"]+)$/m
看到了
这意味着:
- 行首
- 1报价+除报价+1报价以外的任何报价,或
- 除引号以外的任何内容(至少一个字符)
- 行尾
^{1}.+{1}$| ^[^]*$
这将匹配以一个引号开头和结尾的所有行,或完全不包含引号的行。
^{1}.+{1}$| ^[^]*$
这将匹配以一个引号开头和结尾的所有行,或完全不包含引号的行。
分享你的研究成果对每个人都有帮助。告诉我们你尝试了什么,以及为什么它不能满足你的需要。这表明你花了时间来帮助自己,它避免了我们重复显而易见的答案,最重要的是它帮助你得到更具体和相关的答案!另请参见:你的csv格式如何处理引用的报价?我看到了
“
双引号或\”
转义引号。@ThomasAyoub我只是在这个@SebastianProske上做了反复试验,它处理”
而没有escapes@SebastianProske+1这是一个很好的问题,但CSV并不认为它是有效的,甚至使用\“
分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另请参见:csv格式如何处理引号?我看到了“
双引号或\”
转义引号。@ThomasAyoub我只是在这个@SebastianProske上做了反复试验,它处理”
而没有escapes@SebastianProske+1这是一个好问题,但CSV并不认为它是有效的,甚至用\”转义
我发现您的答案最简单,最接近我的需要,谢谢!但现在,我又增加了3个案例,请检查更新的问题。案例6和案例7都可以。。我只是对案例8有个问题,“
应该是有效的。我发现你的答案最简单,最接近我需要的,谢谢!但现在,我又增加了3个案例,请检查更新的问题。案例6和案例7都可以。。我只是对案例8有个问题,“
应该是有效的。谢谢你的回答。直到我在上面添加了最后一个案例#8(更新的问题)之前,它似乎是正确的。我对它进行了定制,以更改+
->*
,并且它在^{1}.*{1}$| ^[^]*$
中起作用。感谢您的回答。在上面添加了最后一个案例#8(更新的问题)之前,它似乎是正确的我定制了它来更改+
->*
,它工作起来了^{1}.*{1}$|^[^]*$