双引号后匹配特定单词 - c#,regex

时间:2016-10-17 07:22:26

标签: c# .net regex

我想匹配一个特定的单词,后跟双引号。 我正在使用正则表达式 @" \ bspecific \ S * id \ b" ,它将匹配以特定开头且以id结尾的任何内容。 但是,我想要的东西应该匹配

"specific-anything-id"(应该是双引号)

**<specific-anything-id>** - 不应该匹配 specific-"anything"-id - 不应匹配

2 个答案:

答案 0 :(得分:1)

您可以包含双引号并使用否定字符类[^"](匹配除"之外的任何字符)而不是\S(它也可以匹配任何非匹配的双引号-whitespace character):

var pattern = @"""specific[^""]*id""";

这里不需要字边界。

请参阅regex demoC# demo

var s = "\"specific-anything-id\"  <specific-anything-id> specific-\"anything\"-id";
var matches = Regex.Matches(s, @"""specific[^""]*id""");
foreach (Match m in matches)
    Console.WriteLine(m.Value); // => "specific-anything-id"

答案 1 :(得分:0)

执行:

"([^"]+)"

匹配的组将包含您想要的ID。