模式匹配是在 C# 中使用正则表达式完成的,C# 的 regex 类用于在 C# 中创建正则表达式,字符串中的模式匹配和替换的标准是使用正则表达式设置的,它通过用户告诉计算机如何寻找字符串中的特定模式,当它找到它正在寻找的特定模式时必须有什么响应,regex 是正则表达式的缩写,总体而言,C# 中的正则表达式是识别和替换文本的强大方法在以特定格式定义的字符串中。
以下是 C# 中正则表达式使用的基本语法列表。他们是:
重要量词列表如下:
重要特殊字符列表如下:
可以通过将字符放在方括号之间来对它们进行分组。通过这样做,输入中的至少一个字符将与类中的任何字符匹配。
[]: 可以使用 [] 来匹配一系列字符。考虑示例 [Xyz]。该表达式匹配 x、y 和 z 中的任意一个。
考虑示例 [c-r]。该表达式匹配 c 和 r 之间的任何字符。
可以使用括号(和)将这些内容组合在一起。
基本上,有两种类型的正则表达式引擎。它们是文本导向引擎和正则表达式导向引擎。正则表达式引导的引擎扫描正则表达式表达式,尝试将正则表达式表达式中的下一个标记与下一个字符匹配。如果找到匹配,则正则表达式前进,否则它将返回到正则表达式中的上一个位置和要解析的字符串,在其中它可以尝试通过正则表达式表达式的不同路径。文本导向引擎扫描字符串,尝试正则表达式的所有排列,然后移动到字符串中的下一个字符。文本导向引擎不会回溯或向后。即使稍后有可能找到确切的匹配项,正则表达式引擎始终返回最左边的匹配项。每当将正则表达式应用于字符串时,引擎都会从字符串的第一个字符开始。所有可能的排列都应用于第一个字符,结果似乎失败,然后排列被移动到字符串中的第二个字符,这个过程一直持续到正则表达式引擎找到完全匹配。
考虑这个例子,在去洗澡之前检查浴缸里的水。正则表达式引擎被要求从上面的句子中找到单词 Bath。正则表达式引擎将第一个字符 C 与 b 匹配,这是失败的。因此,下一个字符 H 尝试通过正则表达式引擎与 b 匹配,但这又失败了。这样继续下去,当正则表达式引擎尝试将第 24 个第 字符与 b 匹配时,它会匹配。因此,它继续将单词“bath from the浴盆”与单词“bath”进行匹配,并且引擎将单词“bath from the浴盆”报告为正确的匹配项,并且不会在语句中进一步查看是否有任何其他匹配项。这就是正则表达式引擎的内部工作原理。
C# 中的正则表达式使用以下方法。他们是:
C# 程序演示如何使用正则表达式验证手机号码。
代码:
using System; using System.Text.RegularExpressions; class Check { static void Main(string[] args) { //Mobile numbers are given as a input to an array of strings string[] nos = {"9902147368", "9611967273", "63661820954"}; foreach(string s in nos) { Console.WriteLine("The mobile number {0} {1} a valid number.", s, checkvalid(s) ? "is" : "is not"); } Console.ReadKey(); } // Regex expressions are verified through this code block public static bool checkvalid(string Number) { string cRegex = @"(^[0-9]{10}$)|(^\+[0-9]{2}\s+[0-9] {2}[0-9]{8}$)|(^[0-9]{3}-[0-9]{4}-[0-9]{4}$)"; Regex res = new Regex(cRegex); if (res.IsMatch(Number)) return (true); else return (false); } }
输出:
以上是C# 中的正则表达式的详细内容。更多信息请关注PHP中文网其他相关文章!