c# - 正则表达式 : extract all words out of quotes

标签 c# regex split

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

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

第一个正则表达式应该提取双引号内的所有文本

SET 001
BACK
01 IN

第二个表达式应该提取字符串中的所有其他单词

01AB
IN
SET
09SS
76
SET

对于第一种情况,("(.*?)") 工作正常。如何从引号中提取所有单词?

最佳答案

试试这个表达式:

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

它匹配的组会排除引号,因为它们被括在非捕获括号(?: and )中。当然,您需要转义双引号才能在 C# 代码中使用。

如果目标字符串以带引号的值开始和/或结束,则此表达式也将匹配空组(对于初始引号和尾随引号)。

关于c# - 正则表达式 : extract all words out of quotes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12543109/

相关文章:

Javascript split 不是一个函数

c# - 用于复杂密码验证的正则表达式

c# - 拉力赛API : How do I create a UserStory and relate it to a Feature?

c# - C# 中 Concurrency::combinable<T> 的模拟?

c# - TryParse with out var 参数

regex - 提取字符向量中两个特定单词之间的所有单词

javascript - 用于获取 html 起始标签的正则表达式

c - 如何分割一个int

c# - 在第一个空格处划分字符串

c# - 在 WPF 中,Windows 窗体中的 Suspend/ResumeLayout() 和 BackgroundWorker() 等同于什么