使用正则表达式捕获两个单词之间的文本

时间:2012-07-20 07:49:35

标签: c# .net regex

我试图在CSharp中使用正则表达式在两个关键字之间获取文本。 虽然我已经找到了一个带有相同标题的主题,但是这个主题是关于在方括号之间找到文本,这很容易,因为你可以使用\[(?<blah>[^\]]+?)\]来完成这个。

我要做的是在Matched text 123./!中找到UnMatched text 123./!team字样。所以我的分隔符是Unteam。如果我按照我习惯的方式构建我的RegEx,我需要再做三个部分:Un用于开头的开始分隔符,team用于结尾的结束分隔符和一个组(?<blah>...+?),其中包含“除字符串team之外的任何内容”。但我不知道如何在正则表达式中表达 this

有没有办法说“不是这个字符串”而不是“不是其中一个字符”? 此外,因为我不知道正则表达式的实现之间的差异:我使用.NET-Framework的System.Text.RegularExpressions.RegEx来解析它们,所以当然样本应该使用这个实现。

1 个答案:

答案 0 :(得分:8)

您可以使用此语法

(?s)(?<=start_delim).+?(?=end_delim)

根据需要替换start_delimend_delim。有关此方面的详情,请访问here