正则表达式以空格分隔,除非用引号引起来

我想使用.Net Regex.Split方法将输入字符串拆分成一个数组。

输入:这是“我的字符串”,有“六个匹配项”

预期产量:

  1. 这里
  2. 我的弦
  3. 六场比赛

我需要什么模式?我还需要指定任何RegexOptions吗?

回答:

无需选项

正则表达式

\w+|"[\w\s]*"

C#:

Regex regex = new Regex(@"\w+|""[\w\s]*""");

    Regex

.Matches(input, @"(?<match>\w+)|\""(?<match>[\w\s]*)""")

.Cast<Match>()

.Select(m => m.Groups["match"].Value)

.ToList()

.ForEach(s => Console.WriteLine(s));

以上是 正则表达式以空格分隔,除非用引号引起来 的全部内容, 来源链接: utcz.com/qa/414675.html

回到顶部