常见的正则表达式

除了之前提到的正则表达式外,还有许多其他常见的正则表达式模式可以用于特定的场景。以下列出了一些常见的正则表达式及其用途:

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#中使用这些正则表达式:

复制代码
cs 复制代码
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)}");  
    }  
}

这些额外的正则表达式模式可以在各种文本处理中提供更多的灵活性和功能。根据需要,可以进一步调整和组合这些模式以适应具体情况。

相关推荐
向宇it5 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo6 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Heaphaestus,RC7 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
baivfhpwxf20237 小时前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾7 小时前
Scala全文单词统计
开发语言·c#·scala
ZwaterZ9 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
ZwaterZ11 小时前
el-table-column自动生成序号&&在序号前插入图标
前端·javascript·c#·vue
SRC_BLUE_1713 小时前
SQLI LABS | Less-55 GET-Challenge-Union-14 Queries Allowed-Variation 2
oracle·c#·less
yngsqq14 小时前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
Zԅ(¯ㅂ¯ԅ)14 小时前
C#桌面应用制作计算器进阶版01
开发语言·c#