实例详解C#正则表达式
什么是正则表达式
正则表达式是一种用于匹配、查找和替换特定文本的工具,它可以通过使用特殊字符和操作符来表示一定范围内的字符串。正则表达式在许多编程语言中得到了支持,包括C#。
实例1:匹配手机号码
例如,我们想在C#代码中匹配一个中国大陆手机号码。中国大陆手机号码通常以1开头,共11位数字,因此可以使用以下正则表达式:
^1\d{10}$
其中,^表示匹配字符串的开始,$表示结束。 \d表示数字字符。{10}则表示重复前面的数字字符10次。因此,以上正则表达式将匹配所有以数字1开头、后面跟着10个数字字符的字符串,即满足中国大陆手机号码的格式。
示例代码:
using System;
using System.Text.RegularExpressions;
class Example {
static void Main() {
string input = "13900000000";
string pattern = @"^1\d{10}$";
bool isMatch = Regex.IsMatch(input, pattern);
Console.WriteLine(isMatch);
}
}
以上代码将输出True,因为input字符串是一个有效的中国大陆手机号码。
实例2:搜索文本中的URL地址
我们可以使用正则表达式来搜索文本中的URL地址。以下是一个匹配大多数HTTP和HTTPS URL协议的正则表达式示例:
\b(?:https?|ftp)://\S+
其中,\b匹配单词边界。(?:https?|ftp)表示一个非捕获组,匹配"http"、"https"或"ftp"。//表示协议分隔符。\S+表示一个或多个非空白字符。因此,以上正则表达式可以找到大多数HTTP和HTTPS URL协议的网址。
示例代码:
using System;
using System.Text.RegularExpressions;
class Example {
static void Main() {
string input = "Visit my website at https://www.example.com to learn more about me";
string pattern = @"\b(?:https?|ftp)://\S+";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match match in matches) {
Console.WriteLine(match.Value);
}
}
}
以上代码将输出以下内容:
https://www.example.com
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:实例详解C#正则表达式 - Python技术站