正则表达式:从引号中提取所有单词
收藏

通过使用正则表达式,如何提取双引号中的所有文本,以及此类字符串中引号中的所有单词:

01AB "SET 001" IN SET "BACK" 09SS 76 "01 IN" SET

第一个正则表达式应该提取双引号中的所有文本,如
SET 001
BACK
01 IN

第二个表达式应该提取字符串中的所有其他单词
01AB
IN
SET
09SS
76
SET

对于第一种情况,效果很好。如何从引号中提取所有单词?


最佳答案:

尝试以下表达式:

(?:^|")([^"]*)(?:$|")

与之匹配的组将不包含引号,因为它们包含在非捕获括号(?:)中。当然,您需要转义双引号,以便在C代码中使用。
如果目标字符串以带引号的值开始和/或结束,则此表达式也将匹配空组(对于首引号和尾随引号)。

    公众号
    关注公众号订阅更多技术干货!