繁体   English   中英

如何使用正则表达式获取匹配字符串的 substring

[英]How to get the substring of a matched string using regex

例如,如果我有一个字符串:

这是一个匹配这个的测试

而且我已经使用regex来匹配上述字符串中的ching那么我如何从字符串matching中提取mat

基本上我需要匹配字符串中所有出现的ching并提取出该单词之前或之后出现的任何内容,而不是直到整个字符串的开头或结尾。

在固定字符串“ching”之前捕获字母:

var matches = Regex.Matches(input, @"\b(?<x>\w+)ching");

foreach(Match m in matches){
  Console.Write(m.Groups["x"].Value);
}

\w+匹配一个或多个单词字符并将它们捕获到一个命名组(?<x>... )

如果您想要不区分大小写的匹配, RegexOptions.IgnoreCase作为第三个参数传递给 Matches

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM