正则表达式小结(实战归纳)

这次给大家带来正则表达式小结(实战归纳),使用正则表达式实战的注意事项有哪些,下面就是实战案例,一起来看一下。

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

下面小编给大家总结了些关于正则表达式知识点,具体内容如下所示:

1、元字符

  [拥有特殊含义的元字符]
  d -> 匹配一个0-9的数字,相当于[0-9],和它相反的是D ->匹配一个除了0-9的任意字符
  w -> 匹配一个0-9、a-z、A-Z、_的数字或字符,相当于[0-9a-zA-Z_]
  s -> 匹配一个空白字符(空格、制表符…)
  -> 匹配一个单词的边界
  -> 匹配一个制表符
  -> 匹配一个换行
  . -> 匹配一个除了以外的任意字符
  ^ -> 以某一个元字符开头
  $ -> 以某一个元字符结尾
  -> 转移字符
  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)$/,这里的是和第二个分组出现一模样的内容,是和第一个分组出现一模一样的内容,例如:”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 = /^1d{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
    -> 解决贪婪性 在量词后面加?

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

正则的模式修饰符使用详解

在正则表达式中有哪些新增特性

以上就是正则表达式小结(实战归纳)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2777639.html

(0)
上一篇 2025年3月8日 15:11:31
下一篇 2025年3月8日 15:11:38

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 正则表达式m修饰符(多行匹配)使用详解

    这次给大家带来正则表达式m修饰符(多行匹配)使用详解,使用正则表达式m修饰符(多行匹配)的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式m修饰符: m修饰符规定正则表达式可以执行多行匹配。m修饰符的作用是修改^和$在正则表达式…

    编程技术 2025年3月8日
    100
  • 正则表达式的{n,m}量词如何使用

    这次给大家带来正则表达式的{n,m}量词如何使用,正则表达式{n,m}量词使用的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式{n,m}量词: {n,m}量词可以重复前面匹配的字符n-m次,至少n次,最多m次。 语法结构:构造…

    2025年3月8日
    200
  • js里如何正确理解正则表达式的回溯

    这次给大家带来js里如何正确理解正则表达式的回溯,js里正确使用正则表达式回溯的注意事项有哪些,下面就是实战案例,一起来看一下。 在正则表达式实现中,回溯是匹配过程的基本组成部分,它是正则表达式如此好用和强大的根源。然而,回溯计算代价很高,…

    编程技术 2025年3月8日
    200
  • JS正则表达式验证数字的实战归纳

    这次给大家带来JS正则表达式验证数字的实战归纳,JS正则表达式验证数字的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹…

    编程技术 2025年3月8日
    200
  • JS里最基础的正则表达式使用详解

    这次给大家带来JS里最基础的正则表达式使用详解,在JS里使用基础正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 正则表达式是一个很牛逼的东东,今天在这里只是简单的给刚刚接触JS的人普及一下,里面若有争议的地方欢迎大家留言! 1…

    2025年3月8日
    200
  • AJAX跨域请求数据方法归纳(实战讲解)

    这次给大家带来AJAX跨域请求数据方法归纳(实战讲解),AJAX跨域请求数据的注意事项有哪些,下面就是实战案例,一起来看一下。 由于浏览器的同源策略 ajax请求不可以接收到请求响应回来的数据  请求数据需要调用浏览器的内置构造函数 XML…

    编程技术 2025年3月8日
    200
  • JS – 正则表达式

    本篇文章介绍的是js正则表达式中的内容,现在分享给大家,也给大家做个参考,现在一起来看一看吧 符号 意义 常用度 转意,即通常在””后面的字符不按原来意义解释,如/b/匹配字符”b”,当b前面加了反斜杆后//,转意为匹配一个单词的边界。高-…

    编程技术 2025年3月8日
    200
  • JS的同源策略和跨域访问实战详解

    这次给大家带来JS的同源策略和跨域访问实战详解,JS同源策略和跨域访问的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了JavaScript同源策略和跨域访问。分享给大家供大家参考,具体如下: 1. 什么是同源策略 理解跨域…

    编程技术 2025年3月8日
    200
  • Vue路由钩子的实战使用教程

    这次给大家带来Vue路由钩子实战使用教程,Vue路由钩子使用的注意事项有哪些,下面就是实战案例,一起来看一下。 一. 路由钩子语法 在vue-router的官方文档中, 将路由钩子翻译为导航守卫, 下面是文档中的内容摘要, 大家也可以通过传…

    编程技术 2025年3月8日
    200
  • vue.js常用指令总结归纳

    这次给大家带来vue.js常用指令总结归纳,vue.js常用指令使用的注意事项有哪些,下面就是实战案例,一起来看一下。 Vue.js是当下很火的一个JavaScript MVVM(Model-View-ViewModel)库,它是以数据驱动…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论