gpt4 book ai didi

c# - 解释 Regex 的初学者指南?

转载 作者:行者123 更新时间:2023-11-30 19:33:44 25 4
gpt4 key购买 nike

问候。

我的任务是调试涉及 Regex 的应用程序部分——但是,我以前从未处理过 Regex。两个问题:

1) 我知道正则表达式应该测试两个字符串是否等价,但是下面的两个正则表达式语句在简单的英语中具体是什么意思?

2) 有没有人推荐我可以进一步了解正则表达式的网站/资源? (最好使用 C#)

if (Regex.IsMatch(testString, @"^(\s*?)(" + tag + @")(\s*?),", RegexOptions.IgnoreCase))
{
result = true;
}
else if (Regex.IsMatch(testString, @",(\s*?)(" + tag + @")(\s*?),", RegexOptions.IgnoreCase))
{
result = true;
}

最佳答案

如果不知道 tag 中的内容,将很难判断正则表达式的含义。事实上,看起来正则表达式已损坏(或者至少没有正确转义输入)。

粗略地说,对于第一个正则表达式:

  • ^ 表示匹配字符串的开头。
  • (...) 设置了一个捕获组(这是可用的,尽管这个例子显然没有使用它)。
  • \s 匹配任何空白字符(空格、制表符等)
  • *? 匹配前一个字符的零个或多个(在本例中为空格),并且因为它有一个问号,所以它匹配最小 数字使表达式的其余部分起作用所需的字符数。
  • ("+ tag + @")tag 的内容插入到正则表达式中。正如我提到的,如果不逃避,那是很危险的。
  • (\s*?)匹配和前面一样(最小空白字符数)
  • , 匹配结尾的逗号。

第二个正则表达式非常相似,但查找起始逗号(而不是字符串的开头)。

我喜欢正则表达式的 Python 文档,但它看起来像 this site有一个很好的基本介绍,带有 C# 示例。

关于c# - 解释 Regex 的初学者指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088416/

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