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

2019-10-23 admin

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

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~ 微信公众号

[转载]原文链接:https://segmentfault.com/a/1190000020773291

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-78061.html

文章标题:回顾一下正则表达式使用方式

相关文章
[翻译]基于Webpack4使用懒加载分离打包React代码
原文地址:https://engineering.innovid.com/code-splitting-using-lazy-loading-with-react-redux-typescript-and-webpack-4-3ec601...
2018-03-11
在 Microsoft Azure 中使用 MEAN 堆栈基于开放数据协议
网络开发人员通常构建伟大的应用程序在客户端使用JavaScript和ASP(c#或Visual Basic . NET)在服务器端。 但是如果你能使用一个共同的语言来构建应用程序的所有层堆栈,从浏览器和服务器端业务处理服务层,甚至在数据库查...
2015-11-12
Bootstrap table简单使用总结
最近接触一个很棒的插件,Bootstrap table没做过前端的表示对table的印象还只停留在html的table标签那一套,用过bootstrap table之后不得不说真的很实用。 构造方式 1 、HTML &lt;div clas...
2017-03-17
mpvue 小程序如何自定义tabBar,不使用navigateTo跳转,模拟redirectTo跳转
原生tabBar tabBar: { &quot;list&quot;: [ { pagePath: &quot;pages&#x2F;index&#x2F;main&quot;, iconPath: &...
2018-05-25
js使用split函数按照多个字符对字符串进行分割的方法
本文实例讲述了js使用split函数按照多个字符对字符串进行分割的方法。分享给大家供大家参考。具体分析如下: js中的split()函数可以对字符串按照指定的符号进行分割,但是如果字符串中存在多个分割符号,js的split()函数是否还可以...
2017-03-21
在 mpvue 使用 echarts 小程序组件
具体操作 下载 echarts-for-weixin 。 把其 ec-canvas 目录移动到 mpvue 项目的 static 目录下。 对 ec-canvas/ec-canvas.js 进行小调整,考虑提 pr 到 ec-c...
2018-03-11
AngularJS:何时应该使用Directive、Controller、Servic
AngularJS是一款非常强大的前端MVC框架。同时,它也引入了相当多的概念,这些概念我们可能不是太熟悉。(译者注:老外真谦虚,我大天朝的码农对这些概念那是相当熟悉啊!)这些概念有: Directive(指令) Controller(控制...
2015-11-11
JavaScript正则进阶之路——活学妙用奇淫正则表达式
有些童鞋肯定有所疑惑,花了大量时间学习正则表达式,却发现没有用武之地,正则不就是验证个邮箱嘛,其他地方基本用不上,其实,大部分人都是这种感觉,所以有些人干脆不学,觉得又难又没多大用处。殊不知,想要成为编程大牛,正则表达式必须玩转,GitH...
2017-05-31
vue使用watch 观察路由变化,重新获取内容
问题背景: 点击用户头像 =&gt; 进入用户个人中心,在用户个人中心里点击其他用户的头像,我希望显示被点击用户的个人中心,但只看到了路由参数在发生变化,页面内容并没有更新。如图: 页面代码如下: &lt;script&gt; exp...
2017-03-13
回到顶部