正则表达式
我的工作内容以数据监控为主,正则表达式在我的工作中应用比较多。
他对字符串的处理和验证非常高效。现将一些自己积累常用的表达式收集于此,以飨读者。
匹配电话号码:^\d{3}-\d{8}|^\d{4}-\d{7}|1[358]d{9}$
注:匹配形式如 021-87886699 或 0550-5233222 或 13023218757
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
注:中文字符在字符编码里的范围,中国人只认识中文、abc、123,那就用[\u4e00-\u9fa5a-zA-Z0-90-9]吧。
匹配双字节字符:[^\x00-\xff]
注:可以用来计算从第一个双字节字符开始的字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:\n\s*\r
注:可以用来删除空白行 C#中 Regex.Replace(objString,@"[\n\s+\r]","");
匹配首尾空白字符的正则表达式:^\s*|\s*$
注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常实用。
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
注:这种方式并非全部,但是一般邮箱格式还是能匹配出来。
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
注:如果非要追求专业,那就用 ^((http|https)://){0,1}([a-zA-Z0-9.]+[/\]*)+([a-zA-Z0-9.]+[?])
匹配腾讯QQ号:[1-9][0-9]{4,}
注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]\d{5}(?!\d)
注:中国邮政编码为6位数字
匹配身份证:\d{15}|\d{18}
注:中国的身份证为15位或18位
匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用
注:如果想更准确点,可以用 (\d{1,3}\.){3}\d{1,3}
匹配整数:^-?[1-9]\d*
匹配负整数:^-[1-9]\d*
匹配非正整数(负整数 + 0):^-[1-9]\d*|0
匹配负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)
匹配非负浮点数(正浮点数 + 0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0
匹配由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?