iOS之常用的正则表达式

举报
Serendipity·y 发表于 2022/02/17 01:24:17 2022/02/17
【摘要】        正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支...

       正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。

       正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

一、正则表达式匹配特定的数字 

1、匹配正整数:^[1-9]d*$ 

2、陪陪负整数: ^-[1-9]d*$

3、匹配整数:^-?[1-9]d*$

4、匹配非负整数(正整数和0):^[1-9]d*|0$

5、匹配非正整数(负整数和0):^-[1-9]d*|0$

6、匹配正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$

7、匹配负浮点数 :^-([1-9]d*.d*|0.d*[1-9]d*)$

8、匹配浮点数:^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$

9、匹配非负浮点数(正浮点数和0):^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

10、匹配非正浮点数(负浮点数和0):^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$

二、正则表达式匹配特定字符串

1、匹配由26个英文字母组成的字符串 :^[A-Za-z]+$  

2、匹配由26个英文字母的大写组成的字符串 :^[A-Z]+$  

3、匹配由26个英文字母的小写组成的字符串 :^[a-z]+$

4、匹配由数字和26个英文字母组成的字符串 :^[A-Za-z0-9]+$  

5、匹配由数字,26个英文字母或者下划线组成的字符串 :^w+$  

6、匹配双字节字符(包括汉字在内):[^x00-xff] 

7、匹配中文字符的正则表达式: [u4e00-u9fa5]

8、匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />

9、匹配空白行的正则表达式:\n\s*\r

10、匹配首尾空白字符的正则表达式:^\s*|\s*$

三、正则表达式匹配常用的功能逻辑

 

1、匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

2、匹配网址URL的正则表达式:[a-zA-z]+://[^s]*

3、匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

4、匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 

5、匹配腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始

6、匹配中国邮政编码:[1-9]d{5}(?!d) (中国邮政编码为6位数字

7、匹配身份证:d{15}|d{18} (中国国民的身份证号码为15位或者18位)

8、验证用户密码:“^[a-zA-Z]w{5,17}$”,正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线

9、验证是否含有^%&'',;=?$"等字符:“[^%&'',;=?$x22]+” 

10、验证一年的12个月:“^(0?[1-9]|1[0-2])$”(正确格式为:“01”-“09”和“1”“12” )

11、验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$” (正确格式为:“01”“09”和“1”“31”

12、验证密码为6~10位,并且只含有字母和数字:

    '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/'

注释:(^ 匹配一行的开头位置;(?![0-9]+$) 预测该位置后面不全是数字;(?![a-zA-Z]+$) 预测该位置后面不全是字母;[0-9A-Za-z] {6,10} 由6-10位数字或这字母组成;$ 匹配行结尾位置)

13、验证手机号码的正确性的正则表达式:

 

rege"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$"

 

 

 

文章来源: blog.csdn.net,作者:Serendipity·y,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Forever_wj/article/details/50991924

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。