我在我的智慧结束(是一个正则表达式新手)。我需要拆分的字符串这样正则表达式分割字符串
"abc","","av,as","hello world","nice,name"
到
'abc'
'\blank\'
'av,as'
'hello world'
'nice,name'
使用C#或excel vbs的,可以有人用正则表达式表达帮助吗?
我在我的智慧结束(是一个正则表达式新手)。我需要拆分的字符串这样正则表达式分割字符串
"abc","","av,as","hello world","nice,name"
到
'abc'
'\blank\'
'av,as'
'hello world'
'nice,name'
使用C#或excel vbs的,可以有人用正则表达式表达帮助吗?
相当简单:如图所示
"(\\.|[^"\\])*"
将工作:
它将允许转义引号和报价之间可能存在的空白,并且是符合POSIX标准,应你永远需要那个!
编辑
我也许应该注意,基本上不会有可能得到'\blank\'
你从正则表达式引擎指定直接,但会比较琐碎从代码中得到它来检查的如果是少于三个字符长(如匹配,将""
如果有一个空字符串)
END EDIT
匹配的长度和替换它10请问你是否想让我分解这个表情!
+1 - 看起来像处理所有情况。 –
完美的解决方案。工作得很好。谢谢。 –
不会找到转义引号,也不会忽略内部逗号。 –
大多数作品,但如杰西所说,并不完全是愚蠢的。但谢谢你的答案。 –
(?:"((?:[a-z])+(?:[ ,a-z]+))")?("")?
可用于
如果组1和2 emtpy,则相匹配的,
如果组1有一个值匹配一个字符串,并且组2有一个值你匹配emtpy双引号""
但是,是为说,你应该使用速度与精确度分析器...
这看起来像是在尝试使用CSV文档。我建议为此使用一个库(参见http://secretgeek.net/csv_trouble.asp) –
您遇到问题。 “我将用正则表达式来解决它!”现在你有两个问题。 – CanSpice
我不认为正则表达式是这样的。我会遍历字符串查找打开和关闭引号。 –