常用正则表达式
正则表达式是一种字符串匹配的工具,通常被用来检索、替换那些符合某个规则的文本。其语法有点特殊,但一旦掌握,可以大大提高我们对文本的处理效率。
常用的正则表达式
以下是一些常用的正则表达式:
- 匹配手机号:
^1[3-9]\d{9}$
- 邮箱:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
- 身份证号码:
\d{17}[0-9xX]|\d{14}[0-9xX]
- URL地址:
^(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?$
- IP地址:
\d+\.\d+\.\d+\.\d+
- 数字:
\d+
- 字母:
\w+
- 中文:
[\u4e00-\u9fa5]+
匹配手机号
手机号码由11位数字组成,以1开头。具体的正则表达式如下:
string pattern = "^1[3-9]\\d{9}$";
例子:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] numbers = { "13512345678", "18912345678", "12345",
"1361234567" };
string pattern = "^1[3-9]\\d{9}$";
foreach (string number in numbers)
{
Console.Write("{0}: ", number);
if (Regex.IsMatch(number, pattern))
Console.WriteLine("Valid");
else
Console.WriteLine("Invalid");
}
}
}
输出结果:
13512345678: Valid
18912345678: Valid
12345: Invalid
1361234567: Invalid
匹配邮箱
邮箱地址由用户名和域名两部分组成,具体的正则表达式如下:
string pattern = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
例子:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] emails = { "abc@163.com", "xyz@gmail.com", "abc@.com",
"123" };
string pattern = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
foreach (string email in emails)
{
Console.Write("{0}: ", email);
if (Regex.IsMatch(email, pattern))
Console.WriteLine("Valid");
else
Console.WriteLine("Invalid");
}
}
}
输出结果:
abc@163.com: Valid
xyz@gmail.com: Valid
abc@.com: Invalid
123: Invalid
常用的C#正则表达式
在C#中,我们可以使用正则表达式库System.Text.RegularExpressions
来进行正则表达式的匹配。
Match方法
Match
方法可以用来查找字符串中与指定正则表达式匹配的第一个子串,并返回一个Match
对象。
例子:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string input = "Hello, world!";
string pattern = "Hello";
Match match = Regex.Match(input, pattern);
Console.WriteLine("Pattern: {0}", pattern);
Console.WriteLine("Input: {0}", input);
if (match.Success)
Console.WriteLine("Match found: {0}", match.Value);
else
Console.WriteLine("Match not found.");
}
}
输出结果:
Pattern: Hello
Input: Hello, world!
Match found: Hello
Replace方法
Replace
方法可以用来替换字符串中所有匹配正则表达式的子串,并返回替换后的字符串。
例子:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string input = "Hello, world!";
string pattern = "Hello";
string replacement = "Hi";
string result = Regex.Replace(input, pattern, replacement);
Console.WriteLine("Pattern: {0}", pattern);
Console.WriteLine("Input: {0}", input);
Console.WriteLine("Replacement: {0}", replacement);
Console.WriteLine("Result: {0}", result);
}
}
输出结果:
Pattern: Hello
Input: Hello, world!
Replacement: Hi
Result: Hi, world!
总结
以上是常用的正则表达式及在C#中使用它们的方法。熟练掌握正则表达式可以大大提高我们的编码效率和代码质量,值得一学。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:常用正则 常用的C#正则表达式 - Python技术站