gpt4 book ai didi

c# - 用于在大型 .cs 文件中查找事件处理程序的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 21:41:36 24 4
gpt4 key购买 nike

(VS2012 C#) 我有一个没有区域和结构的大 .cs 文件。使用“查找和替换”工具,我想找出所有事件处理程序,如:button_Click、window_Loaded 等。因此它具有格式:text1_text2,其中 text1 和 text2 必须存在(最小长度为 1)并用下划线 _ 分隔。正则表达式如何?

提前谢谢你。

杂志PS:到现在为止我从来没有使用过“强大”的正则表达式,因为我不需要它,但现在是我使用它的时候了。当然,在这里问之前我已经尝试阅读了vs2012的在线帮助并尝试了很多次,但都失败了。

最佳答案

试试这个正则表达式:

([a-z_]\w*)_([a-z\d]+)

匹配:

Some_Button1_Click

Button1_Click

Some_strange_Button1_Click

示例代码:

const string strRegex = @"([a-z_]\w*)_([a-z\d]+)";
const RegexOptions myRegexOptions = RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.CultureInvariant;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string text = @"Some_Button1_Click";

var matches = myRegex.Matches(text)
.Cast<Match>()
.Select(x => new {
AllText = x.Groups[0], // all text ==> "Some_Button1_Click"
Object = x.Groups[1], // ([a-z_]\w*) ==> "Some_Button1"
Event = x.Groups[2] // ([a-z\d]+) ==> "Click"
})
.ToList();

关于c# - 用于在大型 .cs 文件中查找事件处理程序的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19046811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com