通过使用正则表达式,如何使用双引号提取所有文本,并在此类字符串中使用引号中的所有单词:
01AB "SET 001" IN SET "BACK" 09SS 76 "01 IN" SET
Run Code Online (Sandbox Code Playgroud)
第一个正则表达式应该提取双引号内的所有文本
SET 001
BACK
01 IN
Run Code Online (Sandbox Code Playgroud)
第二个表达式shoud提取字符串中的所有其他单词
01AB
IN
SET
09SS
76
SET
Run Code Online (Sandbox Code Playgroud)
对于第一种情况工作正常("(.*?)").如何从引号中提取所有单词?
试试这个表达式:
(?:^|")([^"]*)(?:$|")
Run Code Online (Sandbox Code Playgroud)
通过它匹配的群体将不包括引号,是因为他们被封闭在非捕获括号(?:和).当然,您需要转义双引号以便在C#代码中使用.
如果目标字符串以引用值开始和/或结束,则此表达式也将匹配空组(对于初始引用和尾随引用).