我想说一串下面的话:
Guiness Harp "Holy Moses"
以便在 C# 或 VB 中获得匹配集:
Guiness
Harp
Holy Moses
本质上它是按空格拆分的,除非空格周围有引号,然后引号之间的那些词被视为单个短语。
谢谢, 凯文
请您参考如下方法:
如果您在引用的字符串中没有任何(转义或双引号)引号,您可以搜索
"[^"]*"|\S+
但是,引号将成为匹配的一部分。如有必要,可以扩展正则表达式以处理带引号的字符串中的引号。
另一种(在这种情况下更可取)的可能性是使用 csv 解析器。
例如(Python):
import csv
reader = csv.reader(open('test.txt'), delimiter=' ', quotechar='"')
for row in reader:
print(row)
