Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式C进行过滤和搜索_Regex_Search_Filter - Fatal编程技术网

Regex 使用正则表达式C进行过滤和搜索

Regex 使用正则表达式C进行过滤和搜索,regex,search,filter,Regex,Search,Filter,我想写一个命令,显示我,例如,从这个到那个,这两个单词之间出现的所有内容 从我的大学到我朋友的家有20英里远 过滤器=大学和住宅 结果=给我朋友的 这会告诉我结果 请帮帮我。我需要这个密码 我认为正则表达式可以编写这个命令,但我不知道 这个正则表达式是 大学*之家 你可以在行动中看到这一点 这个。是一个通配符,*告诉我们通配符可以匹配多次。创建一个组,以后可以在其中匹配组的内容。因为这个组在单词university和house之间,因为我们告诉这个组匹配任何字符,所以结果将是单词universi

我想写一个命令,显示我,例如,从这个到那个,这两个单词之间出现的所有内容

从我的大学到我朋友的家有20英里远

过滤器=大学和住宅

结果=给我朋友的

这会告诉我结果

请帮帮我。我需要这个密码

我认为正则表达式可以编写这个命令,但我不知道

这个正则表达式是

大学*之家

你可以在行动中看到这一点

这个。是一个通配符,*告诉我们通配符可以匹配多次。创建一个组,以后可以在其中匹配组的内容。因为这个组在单词university和house之间,因为我们告诉这个组匹配任何字符,所以结果将是单词university和house之间的所有内容

在C中,需要导入正则表达式:

using System;
using System.Text.RegularExpressions;
然后您可以获取所有正则表达式匹配项:

Regex rx = new Regex(@"university(.*)house",
          RegexOptions.Compiled | RegexOptions.IgnoreCase);

string example = "From my university to my friend's house is 20 miles away.";

MatchCollection matches = rx.Matches(text);

foreach (Match match in matches) {
    Console.WriteLine("Match: {0} at index [{1}, {2})", 
        match.Value, 
        match.Index, 
        match.Index + match.Length);
}

您可以使用以下正则表达式:

(?<=university).+(?=house)

这里有个问题

如果我的文字是:从大学到我朋友家20英里。从大学到姑妈家有20英里。从大学到叔叔家有20英里

结果是:给我朋友的,给阿姨的,给叔叔的


我想搜索全文并显示两个单词之间的所有单词。大学,豪斯

这里有个问题。如果我的文字是:从大学到我朋友家20英里。从大学到姑妈家有20英里。从大学到叔叔家有20英里。结果是:给我朋友的,给阿姨的,给叔叔的。我想搜索全文,给我看两个词之间的所有词。大学,房子
string word1 = "university";
string word2 = "house";
string sentence = "From my university to my friend's house is 20 miles away.";
RegEx reEx = new RegEx("(<=" + word1 + ").+(?" + word2 + ")");
string match = regex.Match(sentence).Value;