回顾一下正则表达式使用方式

1. 基本符号认识

^表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串) <div class="article fmt article__content" data-id="1190000020773291" data-license="cc" 表示匹配字符串的结束位置表示匹配 零次到多次+表示匹配 一次到多次 (至少有一次)?表示匹配零次或一次.表示匹配单个字符|表示为或者,两项中取一项( )小括号表示匹配括号中全部字符[ ]中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]{ }大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m` 转义字符 如上基本符号匹配都需要转义字符 如 \*表示匹配\w表示英文字母和数字 \W非字母和数字 \d表示数字 \D非数字


2. 常用的正则表达式

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

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

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

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

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:`^(select|drop|delete|create|update|insert).*<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

1、非负整数:`^\d+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

2、正整数:`^[0-9]*[1-9][0-9]*<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

3、非正整数:`^((-\d+)|(0+))<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

4、负整数:`^-[0-9]*[1-9][0-9]*<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

5、整数:`^-?\d+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

6、非负浮点数:`^\d+(.\d+)?<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

7、正浮点数:`^((0-9)+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9]*[1-9][0-9]*))<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

8、非正浮点数:`^((-\d+.\d+)?)|(0+(.0+)?))<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

9、负浮点数:`^(-((正浮点数正则式)))<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

10、英文字符串:`^[A-Za-z]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

11、英文大写串:`^[A-Z]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

12、英文小写串:`^[a-z]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

13、英文字符数字串:`^[A-Za-z0-9]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

14、英数字加下划线串:`^\w+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

15、E-mail地址:`^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

16、URL:`^[a-zA-Z]+://(\w+(-\w+))(.(\w+(-\w+)))(?\s)?<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

17、邮政编码:`^[1-9]\d{5}<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

18、中文:`^[\u0391-\uFFE5]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

19、电话号码:`^((\d2,3)|(\d{3}-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

20、手机号码:`^((\d2,3)|(\d{3}-))?13\d{9}<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

21、双字节字符(包括汉字在内):^\x00-\xff

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>

24、匹配空行:\n[\s| ]*\r

25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29、提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\d3,4|\d{3,4}-|\s)?\d{8}

31、提取信息中的中国电话号码(包括移动和固定电话):(\d3,4|\d{3,4}-|\s)?\d{7,14}

32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

34、提取信息中的任何数字 :(-?\d*)(\.\d+)?

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

36、电话区号:/^0\d{2,3}$/

37、腾讯QQ号:`^[1-9]*[1-9][0-9]*<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

38、帐号(字母开头,允许5-16字节,允许字母数字下划线):`^[a-zA-Z][a-zA-Z0-9_]{4,15}<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

39、中文、英文、数字及下划线:`^[\u4e00-\u9fa5_a-zA-Z0-9]+<div class="article fmt article__content" data-id="1190000020773291" data-license="cc"

推荐

ProcessOn是一个在线作图工具的聚合平台~

文末

欢迎关注个人微信公众号:Coder编程欢迎关注Coder编程公众号,主要分享数据结构与算法、Java相关知识体系、框架知识及原理、Spring全家桶、微服务项目实战、DevOps实践之路、每日一篇互联网大厂面试或笔试题以及PMP项目管理知识等。更多精彩内容正在路上~ 新建了一个qq群:315211365,欢迎大家进群交流一起学习。谢谢了!也可以介绍给身边有需要的朋友。

文章收录至 Github: https://github.com/CoderMerli...Gitee: https://gitee.com/573059382/c...欢迎关注并star~

原文链接:segmentfault.com

上一篇:TypeScript interface 函数类型 可索引类型
下一篇:editor.md实现拖拽剪切复制粘贴上传图片,文件插件

相关推荐

官方社区

扫码加入 JavaScript 社区