0
我有一个解析CSV文件的程序。不幸的是,如果分隔符在括号内,程序无法处理。现在我想找到一个正则表达式,如果它在括号内,就会找到分隔符。正则表达式 - 在括号内仅匹配分隔符
Name;Zip;Comment
Smith,12345;"Weird comment with ; inside"
以下正则表达式返回整个注释字段,但我只想要;括号
("[^;]*;[^;]*")
我有一个解析CSV文件的程序。不幸的是,如果分隔符在括号内,程序无法处理。现在我想找到一个正则表达式,如果它在括号内,就会找到分隔符。正则表达式 - 在括号内仅匹配分隔符
Name;Zip;Comment
Smith,12345;"Weird comment with ; inside"
以下正则表达式返回整个注释字段,但我只想要;括号
("[^;]*;[^;]*")
内角色你可以试试这样
r\".*(;).*"\
在这种情况下,一些正则表达式,正则表达式将匹配整个注释。但是,捕获组1(括号内的部分)将与双引号内的;
匹配。
您应使用以下正则表达式使用捕捉组捕捉整个评论并更换分号:
(".*?)(;\s)(.*?")
input >> Name;Zip;Comment
Smith,12345;"Weird comment with ; inside"
match >> (".*?)(;\s)(.*?")
replace with >> $1$3
output >> Name;Zip;Comment
Smith,12345;"Weird comment with inside"
不幸的是我没有可能指定应该使用哪个捕获组。正则表达式的整个匹配将被替换为我选择的一个字符。 – user1126181