首页 > 其他分享 >正则的定义及语法

正则的定义及语法

时间:2023-06-30 12:44:53浏览次数:47  
标签:返回 字符 匹配 定义 语法 正则 字符串 任意

正则的定义
  • 正则就是规则,用来操作字符串的,判断字符串格式是否正确。
  • 正则就是用来验证字符串的。
正则写法
  • 语法:正则字面量(字符串) var reg = // reg就可以验证字符串。
正则对象
  • 语法:创建正则对象 对象:new RegExp(模式,修饰符);
正则对象和正则字符串的区别
  • (1)正则对象里:要使用双斜杠 \w ,\d, 转义时,也要双 \
  • (2)正则对象里:正则是以 “” 存在的
正则元字符:
    .除了换行和行结束符,任意单个字符 
    \w 查找单词字符。 (字母,数字,下划线)
    \W 查找非单词字符。 
    \d 查找数字。 
    \D 查找非数字字符。 
    \s 查找空白字符。 
    \S 查找非空白字符
     \u4e00-\u9fa5 匹配汉字的
     \b 匹配单词边界。  
     \B 匹配非单词边界
量词
  • 最少0次,多了不限 ,0个或多个
  • +最少一次 多了不限,1个或多个
    • ?{n} 匹配 n个 最少0个,最多1个,(0个或一个)
    • {n,} 匹配最少 n 个 {n,m} 匹配最少n 个,最多 m 个
    • {,m} 匹配最多m个
定界符:
  • $ 结束符 ^ 开始符
  • g 表示全局 i:不区分大小写 m:表示多行
  • [^abc]:就表示非的意思
  • ?=n 前面的字符后紧跟着n的字符串 a?=x ax
  • ?!n 前面的字符后没有n的字符串 a?!x ab
字符类
[abc]  表示abc里的任意一个字符
    [0-9]  匹配0到9之间的任意一个数字
    [a-z]  匹配a到z之间的任意一个小写字符
    [A-Z]  匹配A到Z之间的任意一个大写字符
    [A-z]  匹配A到z之间的任意一个大小写字符
        [A-z0-9]  匹配任意一个字母(大小写字母)或数字
    [A-z0-9_]  匹配字母数字下划线
    [a-z0-9]  匹配a到z或0到9之间的任意一个字符
    [0-37-9]  匹配0到3或7到9之间的任意个亿字符    
        [ \u4e00-\u9fa5] 匹配任意一个汉字的
    [^]:[^abc]  匹配除了abc以外的任意一个字符
    ():(red|green|blue)   匹配red    green  blue之间的任意一个
RegExp方法
  • 1.****正则对象.exec(字符串):他返回的是数组,其中存放的结果,如果未找到,则他的返回值是null;如果字符串里有匹配的字符串就返回第一个匹配的字符.
  • 2.正则对象.test(字符串):返回的是boolean 匹配正确是true,匹配失败是false;
  • 3.正则对象.lastIndex :该属性存放一个整数,他声明的是上一次匹配文本之后的第一个字符位置。如果不设置全局时,就不存在此属性。
支持正则表达式的String
    • 1.字符串.search(正则模式):类似于indexOf :返回第1个能匹配的下标,找不到返回-1;而且它会忽略全局
      • 例:字符串.search(/[0-9]/i) 返回第一个匹配的下标,i修饰符无效。
    • 2.***字符串.match(正则模式) :返回的是数组,
      • 全局匹配时,返回的是结果组成的数组。 不是全局时,返回第一个匹配的结果数组。类似于exec的返回结果
      • 例:字符串.match(/[0-9]/) 返回第一个匹配的结果
      • 例:字符串.match(/[0-9]/g) 返回所有匹配的结果
    • 3.字符串.replace(正则模式,字符串,函数)
      • 语法: 字符串.replace(/i/g,function(){}); 类似于迭代
        return * 在这是把匹配的结果换成*
    • ***在正常情况下,replace只能替换1个,如果加上全局时,就表示全部都被替换掉了。
    • 4.字符串.split(模式) :表示切割方法 默认是全局匹配。

标签:返回,字符,匹配,定义,语法,正则,字符串,任意
From: https://www.cnblogs.com/cloudnine/p/17516377.html

相关文章

  • 正则基础
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body>用于匹配和操作文本的工具</body></html><script>//匹配字母constreg1=/[a-zA-Z]///匹配数字co......
  • 两个数交换值(不用定义新变量)
    公式:    a=a^b;    b=a^b;    a=a^b;假设a=甲,b=乙a=甲^乙   b=乙a=甲^乙   b=甲^乙^乙=甲^0=甲a=甲^乙^甲=乙^0=乙     b=甲交换成功 前提:a,b在内存里是两块不一样的地址(可以是一样的值)       比如,arr[i......
  • ASP.NET的自定义分页
    usingSystem;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Data.SqlClient;namespaceControlLibs{///<summary>///CustomPager的摘要说明。///</summary>[DefaultProperty(&......
  • 前端实现radio+其它自定义输入选项
    后端数据库设计:1.类型字段  2.用户输入的其它信息记录字段 前端:<el-form-itemlabel="性能要求类型">     <el-radio-groupv-model="form.performanceRequirementType">      <el-radio       v-for="dictinperformanceRequire......
  • 正则基础
    //匹配字母  constreg1=/[a-zA-Z]/  //匹配数字  constreg2=/\d/  //匹配非数字  constreg3=/\D/  //空格  constreg4=/\s/  //字母数字下划线  constreg5=/\w/  //特殊字符  constreg6=/[!@#$%>&*]/  //非字......
  • Three.js教程:threejs语法总结
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生threejs语法总结本节课从JavaScript面向对象语法的角度,给大家总结下threejsAPI的使用习惯,这样方便大家更好的使用threejsAPI。Three.js语法总结:类(构造函数)Three.js提供了各种各样的类(构造函数),通过ne......
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证
    全文链接:http://tecdat.cn/?p=31162最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。模拟SV模型的估计方法: sim<-svsim(1000,mu=-9,phi=0.97,sigma=0.15)......
  • 自定义 make 脚本扩展 artisan make 命令
    有时候,我们想自定义生成php类文件,于是自己写了一个,能兼容去调用artisanmake命令。文件名就叫make 放在与artisan相同目录下,命令:phpmake--help代码如下:#!/usr/bin/envphp<?phpif($argv[1]=='--help'||empty($argv[1])){echo'phpmake<type><filenam......
  • 01-ES6语法:块作用域构造let
    这里所说的ES6是ECMAScript6的简写,它是由JavaScript演变而来的。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会(ECMA)进行标准化。ECMA-262的第一个版本于1997年6月被ECMA组织采纳,这也是ECMAScript(简称ES)的由来。块级声明用于声明在指定块的作用域之外无法访问的变量。......
  • 04-ES6语法:默认参数和rest参数
    本文我们分别介绍ES6中的默认参数和rest参数,下面我们分别进行说明和演示。下面是简单的屏幕分享,不爱看文字的同道中人可以看视频。-_-一、默认参数首先,我们先看看在ES5中是如何定义默认参数的方式,代码如下://ES5的默认参数值。functioncreateBox(width,height,color){......