如何正确拆分正则表达式
时间:2019-11-19
本文章向大家介绍如何正确拆分正则表达式,主要包括如何正确拆分正则表达式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
正确拆分正则表达式
- 正则方便了开发的同时,也是很多开发者比较苦恼的一件事情,一开始如何需求小的情况下还是比较好些的,那么要求比较难道时候,写出来的自己都看不出来是什么了,甚至还有人称正则表达式为火星文
拆分正则代码块,是理解正则的关键
在 JavaScript
正则表达式有以下结构:
- 字面量: 匹配一个具体字符,如 a 匹配字符 a。
- 字符组: 匹配一个有多种可能性的字符,如 [0-9] 匹配任意一个数字。
- 量词: 匹配一个连续出现的字符,如 a{1,3} 匹配连续最多出现 3 次的a字符。
- 锚: 匹配一个位置,如 ^ 匹配字符串的开头。
- 分组: 匹配一个整体,如 (ab) 匹配 ab 两个字符连续出现。
- 分支: 匹配一个或多个表达式,如 ab|bc 匹配 ab 或 bc 字符。
1.注意要点
- 匹配字符串整体
不能写成 /^abc|bcd\(/ ,而是要写成 /^(abc|bcd)\)/。
- 量词连缀问题
需要匹配:每个字符是 a/b/c 中其中一个,并且字符串长度是 3 的倍数:
不能写成 /^[abc]{3}+$/ ,而是要写成 /([abc]{3})+/。
- 元字符转义问题
元字符就是正则中的特殊字符,当匹配元字符就需要转义,如:
^、$、.、*、+、?、|、、/、(、)、[、]、{、}、=、!、:、- 。
// "[abc]" => /\[abc\]/ 或者 /\[abc]/
// "{1,3}" => /\{1\}/ 或者 /\{1}/ 因为不构成字符组
2. 案例分析
- 身份证号码
/^(\d{15}|\d{17})[\dxX]$/.test("390999199999999999");// true
- IPV4
let r = /^((0{0,2}\d|0?\d{2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(0{0,2}\d|0?\d{2}|1\d{2}|2[0-4]\d|25[0-5])$ // true
原文地址:https://www.cnblogs.com/sunhang32/p/11888325.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
- Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
- python实现PDF中表格转化为Excel的方法
- php实现算术验证码功能
- 基于matplotlib中ion()和ioff()的使用详解
- Laravel5.7框架安装与使用学习笔记图文详解
- Python基于httpx模块实现发送请求
- Python Tkinter图形工具使用方法及实例解析
- PHP实现的简单留言板功能示例【基于thinkPHP框架】
- Python SMTP配置参数并发送邮件
- Python如何实现自带HTTP文件传输服务
- 在keras中实现查看其训练loss值
- keras实现VGG16方式(预测一张图片)
- 利用python中的matplotlib打印混淆矩阵实例
- pytorch加载自己的图像数据集实例