首页 > 其他分享 >js正则表达式

js正则表达式

时间:2023-04-13 16:58:57浏览次数:36  
标签:字符 匹配 任何 正则表达式 零个 js 查找 字符串

   \d 查找数字  \D 查找非数字字符
   \s 查找空白字符  \S 查找非空白字符
   \w 查找数字、字母及下划线 \W 查找非单词字符
   \n 查找换行符
   \0 查找 NULL 字符
   \r 查找回车符
   n+ 查找一个或者多个 如: /a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中所有的 "a"    当为n+?时,是禁止贪婪,偏向于少的一方,即n出现一次
   n* 匹配任何包含零个或多个 n 的字符串 如: /bo*/ o可有可无 boooo...或者b
   n? 匹配任何包含零个或一个 n 的字符串 如: /e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"
   n{X}  X 个  如: /a{2}/ 匹配连续2个a, 超过2个a也只匹配前两位
   n{X,} X 是一个正整数。 如: /a{2,}/ 匹配连续超过2个a  2个到正无穷 例如匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。
   n{X,Y} X和Y 是一个正整数。 如: /a{3,6}/ 匹配连续3-6个a 注意:aaaaaaaaaaaaaaa也只匹配前6位
   ^n 匹配任何开头为 n 的字符串。 当^在[]表示非
   n$ 匹配任何结尾为 n 的字符串。
   ?=n 匹配任何其后紧接是n
   ?!n 匹配任何其后不是n
   (?<=[a-z])\d 表示数字前面必须是字母
   (?<![a-z])\d 表示数字的前面不是字母
   \d(?![a-z]) 表示数字的后面不是字母
   \d(?=[a-z]) 表示数字的后面必须是字母
   . 匹配任意 除了换行符\n



   1、[] 原子表:
      只匹配[]中的任意一个字符  如[1234],只要存在1234中任意一个就是true  注意:原子表中的字符就是字符串本身  例如[\d\s]就是匹配字符串d或者s,转不转义都一样
   2、()原子组:
      如果有 | 表示左右两边为一个整体,满足一个即匹配成功 例如(12|13) 匹配12或13都算成功 如果有多个(),表示一个()代表一组 可以用占位符$1表示 第一个()使用$1替换 第二个()使用$2替换,依次类推
   3、(?:[0-9]): 
      表示不记录组(忽略当前这个组)  注意此时,就不能用$1, $2的形式了
   4、当是(?=)、(?!)、(?<=)、(?<!)、(?!)、(?=)这几种形式时,不表示组,表示条件语句, 注意:此时也不能用$1, $2的形式了
   5、^ * + ? {} $ ?= ?! 这些前面是(),会把()中的内容当做一个整体去限制


  // 正则的几种模式:
  s 单行匹配  ``中有一处或者多处换行 在匹配s模式时,是将``中的内容整体当做一行来匹配
  m 多行匹配  ``中有一处或者多处换行 在匹配m模式时,是将``中的每一行单独匹配
  g 全局匹配
  i 不区分大小写

标签:字符,匹配,任何,正则表达式,零个,js,查找,字符串
From: https://www.cnblogs.com/demoTimes/p/17315386.html

相关文章

  • 【异步加载JS脚本(script标签)至html文档中】的辅助函数
    Code:/***'asyncLoadScript'方法的配置项'options'的类型定义*@typedef{Object}IOptions*@prop{string}id-script标签的ID*@prop{Function}onSucceed-加载成功后的回调*@prop{(Function|undefined)}onFailed-加载失败后的回调*@prop{boolean}s......
  • 纯前端仿GPT流式打字效果的js库,类似通义千问或者其他AI界面的打字效果
    因为GPT以及国内各大模型的发布,很多官网都设计的是,仿造流式打字效果,下面这个js库就能轻松实现。typed.js  具体实现代码参考下面:<spanid="subTitle"></span><scriptsrc="https://unpkg.com/[email protected]/dist/typed.umd.js"></script><script>vartyped=......
  • C# Json序列化,设置驼峰命名(字段首字母小写)
    相关代码:varserializerSettings=newJsonSerializerSettings{//设置为驼峰命名ContractResolver=newCamelCasePropertyNamesContractResolver()};varresult=JsonConvert.Ser......
  • 在js中==与===的区别
    在js中两个=与三个=的区别在js中经常会有这种写法1=="1"实际上二者是不同的,但这种放在js中得到的结果是true,为什么会这样呢,是因为在对比之前,js将"1"转换为了number类型,所以得到的结果是true。而下面代码得到的结果为false1==="1"之所以会出现false,是因为比较之前没有转......
  • jsencrypt与sm-crypto对url加解密处理
    1.jsencrypt公钥私钥随便找个网站生成(https://www.bejson.com/enc/rsa/)1.安装包:npmijsencrypt--save2.封装函数import{JSEncrypt}from'jsencrypt';//加密msg为需要加密的字符串,返回加密后的字符串exportfunctionsetEncrypt(msg){constjsencrypt=newJS......
  • JAVA返回前端时候bean转json时首字母、第二个字母大写会自动变成小写的问题
      后台bean是privateStringuName;但是前端生成的json是uname会自动变成小写 如果我们只是个别的几个的话,只需要加个注解@JsonProperty("uName")privateStringuName; 这样就可以了......
  • 手机直播源码,JS实现页面下拉加载数据操作
    手机直播源码,JS实现页面下拉加载数据操作主要是在id="ph"的div内加载数据: <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml&qu......
  • js注入cookie不生效的情况
    场景直接使用js注入cookie发现不生效,其实只设置了key和values值,没有注意其他字段。后来发现还有个domain的字段需要配置,不然注入是不会生效的document.cookie="token=123;domain=.baidu.com"#使用;分号隔开......
  • VUE.JS和NODE.JS构建一个简易的前后端分离静态博客系统(三)
    Edit.vue<template><divid="edit"><ClassicHeader><templatev-slot:left><span>编辑随笔</span></template><templatev-slot:right><el-button@click="......
  • 面试题:JS如何最快的执行垃圾回收机制
    因为没看见答案,所以也不知道对不对。 JavaScript的垃圾回收机制是由JavaScript引擎自动管理的,通常情况下我们无法控制垃圾回收机制的执行时间和频率。然而,我们可以采取一些优化策略来减少垃圾回收的性能开销,从而提高代码执行速度。减少全局变量:全局变量不易被垃圾回收,因......