除了之前提到的正则表达式外,还有许多其他常见的正则表达式模式可以用于特定的场景。以下列出了一些常见的正则表达式及其用途:
1. 匹配文件扩展名
regex
\.\w+$
说明:匹配任意文件扩展名,如 .txt
、.jpg
。
2. 匹配包含数字的字符串
regex
.*\d+.*
说明:匹配任何包含至少一个数字的字符串。
3. 匹配重复出现的单词
regex
\b(\w+)\s+\1\b
说明:匹配重复出现的单词,例如 “hello hello”。
4. 匹配HTML标签
regex
<[^>]+>
说明:匹配任意 HTML 标签。
5. 匹配非数字字符
regex
\D+
说明:匹配任意非数字字符。
6. 匹配ASCII字符
regex
^[\x00-\x7F]*$
说明:匹配包含所有ASCII字符的字符串。
7. 匹配有效的用户名(字母数字,长度限制)
regex
^[a-zA-Z0-9_]{3,16}$
说明:匹配合法的用户名,允许字母、数字和下划线,长度为3到16个字符。
8. 匹配不含HTML标签的文本
regex
>([^<]+)<
说明:匹配 HTML 标签之间的文本内容。
9. 匹配邮政编码(如美国的5位或9位ZIP代码)
regex
^\d{5}(-\d{4})?$
说明:匹配有效的美国邮政编码(例如:12345 或 12345-6789)。
10. 匹配以特定字符开头的字符串
regex
^A.*
说明:匹配以字母 “A” 开头的任意字符串。
11. 匹配特定范围内的数字(如1到100)
regex
^(100|[1-9]?[0-9])$
说明:匹配1到100之间的数字。
12. 匹配ASCII码中的控制字符
regex
[\x00-\x1F\x7F]
说明:匹配ASCII控制字符(如换行、回车等)。
13. 匹配不重复的字符
regex
^(?!.*(.).*\1)[A-Za-z]+$
说明:匹配不包含重复字符的字符串。
示例代码(C#)
下面是一个示例代码,展示如何在C#中使用这些正则表达式:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string testFileName = "document.pdf";
string testUsername = "user_name";
string testZipCode = "12345-6789";
// 匹配文件扩展名
string filePattern = @"\.\w+$";
Console.WriteLine($"文件扩展名有效吗? {Regex.IsMatch(testFileName, filePattern)}");
// 匹配有效的用户名
string usernamePattern = @"^[a-zA-Z0-9_]{3,16}$";
Console.WriteLine($"用户名有效吗? {Regex.IsMatch(testUsername, usernamePattern)}");
// 匹配邮政编码
string zipPattern = @"^\d{5}(-\d{4})?$";
Console.WriteLine($"邮政编码有效吗? {Regex.IsMatch(testZipCode, zipPattern)}");
}
}
这些额外的正则表达式模式可以在各种文本处理中提供更多的灵活性和功能。根据需要,可以进一步调整和组合这些模式以适应具体情况。