正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

下面小编给大家总结了些关于正则表达式知识点,具体内容如下所示:
1、元字符
[拥有特殊含义的元字符]
\d -> 匹配一个0-9的数字,相当于[0-9],和它相反的是\D ->匹配一个除了0-9的任意字符
\w -> 匹配一个0-9、a-z、A-Z、_的数字或字符,相当于[0-9a-zA-Z_]
\s -> 匹配一个空白字符(空格、制表符...)
\b -> 匹配一个单词的边界
\t -> 匹配一个制表符
\n -> 匹配一个换行
. -> 匹配一个除了\n以外的任意字符
^ -> 以某一个元字符开头
$ -> 以某一个元字符结尾
\ -> 转移字符
x|y -> x或者y的一个
[xyz] -> x、y、z中的任意一个
[^xyz] -> 除了xyz中的任意一个字符
[a-z] -> 匹配a-z中的任意一个字符
[^a-z] -> 匹配除了a-z中的任意一个字符
() -> 正则中的分组
注意:
1)关于[]
a、[+] ->中括号中出现的所有字符都代表的是本身的意思
b、[12-65] ->这个不是12-65而是1/2-6/5三者中的一个
2)关于()
a、分组的作用是改变默认的优先级,例如:/^18|19$/,181、189、119、819、1819...都符合,而不是我们认为的18或19,但是改成/^(18|19)$/就是单纯的18或19了
b、可以在捕获大正则匹配的内容同时,把分组匹配的内容也进行捕获->分组捕获
c、分组引用,例如:/^(\d)(\w)\2\1$/,这里的\2是和第二个分组出现一模样的内容,\1是和第一个分组出现一模一样的内容,例如:"0aa0"就符合了
[代表数量的量词元字符]
* -> 0到多个
+ -> 1到多个
? -> 0到1个
{n} -> 出现n次
{n,} -> 出现n到多次
{n,m} -> 出现n到m次
注意:
1)关于?的几种情况
a、放在非量词元字符后面,代表出现0-1次
b、放在量词元字符后面,代表取消捕获时候的贪婪性,例如:reg=/\d+/; reg.exec("2015") -> "2015" 但是如果正则这样写 reg=/\d+?/; reg.exec("2015") -> "2"
c、在分组开头加?:,代表当前的分组只是匹配不进行捕获,例如:/^(?:\d+)$/
d、在分组开头加?=,正向预查,例如:/^abcdef(?=1|2)$/ 只有"abcdef1"和"abcdef2"才符合
e、在分组开头加?!,负向预查,例如:/^abcdef(?!1|2)$/ 除了"abcdef1"和"abcdef2"不符合,其他的只要是"abcdef(任何的东西)"都符合
[代表本身意思的元字符]
除了以上的,在字面量方式中,我们出现的其他任意字符代表的都是自己本身的意思
var num=12;
var reg=/^\w"+num+"$/; ->这里"+num+"不是把变量的值拼接,而这里的不管是"还是+都是元字符
->对于需要拼接字符串和变量的方式我们只能使用实例方式创建正则
2、修饰符
i -> ignoreCase 忽略字母的大小写
g -> global 全局匹配 (加上g可以解决正则捕获时候的懒惰性)
m -> multiline 多行匹配
3、项目中常用的正则
1)有效数字的
var reg=/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
2)邮箱的
var reg = /^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
3)电话的
var reg = /^1\d{10}$/;
4)年龄在18-65之间的
var reg = /^((18|19)|([2-5]\d)|(6[0-5]))$/;
5)中文姓名
var reg = /^[\u4e00-\u9fa5]{2,4}$/;
6)身份证
var reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/;
//-> 12828(省市县) 1990(年) 12(月) 04(日) 06 1(奇数是男偶数是女) 7(数字或者X)
4、正则的匹配
reg.test([string]) ->true就是匹配成功 false->匹配不成功
5、正则的捕获
1)reg.exec([string])
-> 首先去匹配,匹配成功在捕获,返回的是一个数组; 如果匹配不成功返回的是null;
-> 正则的捕获即懒惰又贪婪
-> 解决懒惰性 在正则的末尾增加全局修饰符g
-> 解决贪婪性 在量词后面加?
以上所述是小编给大家介绍的正则表达式小结篇,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 正则小结
# swift中的正则表达式小结
# js正则表达式中的问号几种用法小结
# 正则表达式(括号)、[中括号]、{大括号}的区别小结
# jQuery中校验时间格式的正则表达式小结
# 正则中需要转义的特殊字符小结
# PHP 正则表达式之正则处理函数小结(preg_match
# preg_match_all
# preg_replace
# preg_split)
# php正则表达匹配中文问题分析小结
# ExtJs 正则表达式小结
# PHP 正则表达式常用函数使用小结
# 的是
# 都是
# 小编
# 放在
# 多个
# 给大家
# 正则表达式
# 不成功
# 第一个
# 在此
# 修饰符
# 是由
# 其他的
# 第二个
# 几种
# 作为一个
# 不符合
# 所示
# 所述
# 给我留言
相关文章:
如何在宝塔面板中创建新站点?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何在建站之星绑定自定义域名?
教程网站设计制作软件,怎么创建自己的一个网站?
广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
建站主机如何选?高性价比方案全解析
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在宝塔面板中修改默认建站目录?
安云自助建站系统如何快速提升SEO排名?
如何在IIS中新建站点并配置端口与IP地址?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
,怎么用自己头像做动态表情包?
如何快速上传自定义模板至建站之星?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
建站VPS能否同时实现高效与安全翻墙?
建站之星后台管理:高效配置与模板优化提升用户体验
如何快速上传建站程序避免常见错误?
宝塔面板创建网站无法访问?如何快速排查修复?
全景视频制作网站有哪些,全景图怎么做成网页?
如何通过西部建站助手安装IIS服务器?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
建站之星下载版如何获取与安装?
想学网站制作怎么学,建立一个网站要花费多少?
专业商城网站制作公司有哪些,pi商城官网是哪个?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
宁波免费建站如何选择可靠模板与平台?
Swift中switch语句区间和元组模式匹配
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
IOS倒计时设置UIButton标题title的抖动问题
如何在阿里云购买域名并搭建网站?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
济南专业网站制作公司,济南信息工程学校怎么样?
如何在Windows服务器上快速搭建网站?
Swift开发中switch语句值绑定模式
北京网站制作的公司有哪些,北京白云观官方网站?
定制建站策划方案_专业建站与网站建设方案一站式指南
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
再谈Python中的字符串与字符编码(推荐)
如何在IIS7中新建站点?详细步骤解析
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何挑选高效建站主机与优质域名?
如何通过主机屋免费建站教程十分钟搭建网站?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
*请认真填写需求信息,我们会在24小时内与您取得联系。