正则表达式匹配大全

技术博客 (138) 2023-09-16 15:39:16

工作中不断的用到正则匹配 , 先把用过的记录下来 .
当然 , 治根还是得治本 , 抽空学习正则 , 能自己写出来的正则才有意义 , 而不是网上CV
收纳 ↓↓↓↓

1. 匹配中文字符

  [\u4e00-\u9fa5]
  ^[\u4e00-\u9fa5]{ 
   0,}$

2.匹配双字节字符(包括汉字在内)

  [^\x00-\xff]

3. 匹配空白行

  \n\s*\r

4. 匹配Email地址

 [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{ 
   |}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
 
 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

5.匹配网址URL

 [a-zA-z]+://[^\s]*

6.匹配国内电话号码

 \d{ 
   3}-\d{ 
   8}|\d{ 
   4}-\{ 
   7,8}

7.匹配18位身份证号

 ^(\d{ 
   6})(\d{ 
   4})(\d{ 
   2})(\d{ 
   2})(\d{ 
   3})([0-9]|X)$

8.匹配正整数

/^[0-9]*$/

9.匹配正整数且不为0


10.匹配正整数

^[1-9]\d*$

11.匹配反斜杠

/\\/g
//字符串里的单个反斜杠为:"\\"
//第一个\为转义, 第二个才是真的\
//附替换单个反斜杠为双反斜杠
str.replace(/\\/g,"\\\\") 

12.匹配整数

^-?[1-9]\d*$

13.匹配(年-月-日)格式日期

([0-9]{ 
   3}[1-9]|[0-9]{ 
   2}[1-9][0-9]{ 
   1}|[0-9]{ 
   1}[1-9][0-9]{ 
   2}|[1-9][0-9]{ 
   3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

14.验证用户密码 , 正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。

"^[a-zA-Z]\w{5,17}$"

15.只能输入n位的数字:

"^\d{n}$"

16.只能输入至少n位的数字:

"^\d{n,}$"

17.只能输入m~n位的数字:

"^\d{m,n}$" 

18.只能输入零和非零开头的数字:

"^(0|[1-9][0-9]*)$"

19.只能输入有两位小数的正实数:

"^[0-9]+(.[0-9]{2})?$"

20.只能输入有1~3位小数的正实数

"^[0-9]+(.[0-9]{1,3})?$"

21.只能输入非零的正整数:

"^\+?[1-9][0-9]*$"

22.只能输入非零的负整数:

"^\-[1-9][]0-9"*$

23.只能输入长度为3的字符:

"^.{3}$"

24.只能输入由26个英文字母组成的字符串:

"^[A-Za-z]+$"

25.只能输入由26个大写英文字母组成的字符串:

"^[A-Z]+$"

26.只能输入由26个小写英文字母组成的字符串:

"^[a-z]+$"

27.匹配首尾空格的正则表达式:

(^\s*)|(\s*$)

未完待更

分享一个链接,但是不知道能不能通过检测 你是如何学会正则表达式的?

THE END

发表回复