求一个建单的正则表达式,
字符串 str="aaabbbccdd sdfsdfads =new ABCD();DDDDGFGFDdsf"我需要一个正则表达式,取出其中的ABCD,即取出"new "与"()"中间的字符串。谢谢。
PS:找一个文件中的类名。文件太大,不想手工找。
字符串 str="aaabbbccdd sdfsdfads =new ABCD();DDDDGFGFDdsf"我需要一个正则表达式,取出其中的ABCD,即取出"new "与"()"中间的字符串。谢谢。
PS:找一个文件中的类名。文件太大,不想手工找。
string str = "aaabbbccdd sdfsdfads =new ABCD();DDDDGFGFDdsf";
Console.WriteLine(Regex.Match(str,@"new\s*(.*)\(\)").Groups[1].Value);
ABCD我是遍历Groups的内容。你的代码是直接写 Groups[1].Value
所以按你的代码是直接得到了我要的ABCD。现在我不明白的是 string str="aaabbbccdd sdfsdfads =new ABCD(); W=new W();"; 时,得到的数据是
ABCD(); W=new W
我想得到的是
ABCD
W------------
即能明确得到这个字符串中某个范围内的数据组。
但是这个正则只得到一个数据。
string str = "aaabbbccdd sdfsdfads =new ABCD(); W=new W();";
foreach (Match match in Regex.Matches(str, @"new\s*([^\(\)]*)\(\)"))
{
Console.WriteLine(match.Groups[1].Value);
}
/*
输出:
ABCD
W
*/
测试通过