我在我的机智目的(成为正则表达式新手)。我需要像这样分割一个字符串
"abc","","av,as","hello world","nice,name"
到
'abc'
'\blank\'
'av,as'
'hello world'
'nice,name'
使用c#或excel vbs,有人可以帮助使用正则表达式吗?
答案 0 :(得分:2)
答案 1 :(得分:2)
相当简单:
"(\\.|[^"\\])*"
将如图所示:
它会允许转义引号和引号之间可能的空格,并且如果您需要,它是POSIX兼容的!
修改强>
我应该注意到,基本上不可能从正则表达式引擎中直接获取直接引用的'\blank\'
,但从检查它的代码获取它是相对简单的。匹配的长度,如果长度少于三个字符则替换它(如果有一个空字符串,匹配将是""
)
结束编辑
请问你是否希望我打破这种表达方式!
答案 2 :(得分:0)
(?:"((?:[a-z])+(?:[ ,a-z]+))")?("")?
可以使用
如果第1组和第2组是emtpy,则如果第1组的值与字符串匹配,则匹配,
,如果第2组的值匹配,则表示匹配emtpy双引号""
但是如上所述,你应该使用解析器来提高速度和准确性......