目录

基础 常用的一些

特殊字符

非打印字符

元字符

表达式

量词

或者

创建正则表达式

实例方法

字符串中的正则方法

字符串的 match()方法

字符串的 search()

字符串的 split()方法

字符串的 replace()

字符串的 trim()方法


基础 常用的一些

特殊字符

. 匹配除换行符 \n 之外的任何单字符。
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结尾位置。

非打印字符

\t 匹配一个制表符。等价于 \x09 和 \cI
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\s 匹配任何空白字符 包括指标符 换行符  。等价于 [ \f\n\r\t\v]
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v。
\b 单词边界即字与空格的位置  \bhello\b

元字符

\d

匹配一个数字字符。等价于 [0-9]。

\D

匹配一个非数字字符。等价于 [^0-9]。

\w

匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'

\W

匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。

\

将下一个字符标记为一个特殊字符、或一个原义字符

[^a-z]

负值字符范围。匹配任何不在指定范围内的任意字符。

表达式

[xyz]

字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。

[a-z]

字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。

[\u4e00-\u9fef]

中文范围

量词

*

[\u4e00-\u9fef]*          匹配前面的子表达式零次或多次

+

\d+                                    匹配前面的子表达式一次或多次。

?

\d?                                匹配前面的子表达式零次或一次。

{n}

n 是一个非负整数。匹配确定的 n 次。

{n,m}

m 和 n 均为非负整数,其中n <= m。 自定义量词

{n,}

n 是一个非负整数。至少匹配n 次。

或者

| 替换,"或"操作

创建正则表达式

js 中 正则表达式表现为一个对象,该对象是通过RegExp构造的

var rag = /\d/;  //字面量

标志位 全局搜索后面加个 g ;不区分大小写加个 i ;多行匹配加个 m ;

实例方法

RegExp.test()验证某个字符串是否满足规则

在全局模式下 会接着上一次的接着匹配

在单行模式下 会从头开始匹配

正常模式下 是贪婪匹配 更改贪婪模式在量词后加上?

        var reg = /^\d/;console.log(reg.test('123'));

RegExp.exec()得到一个真数组 第一项表示匹配结果 index是匹配开始的下标 input是匹配的完整字符串

会受到 lastIndex 的影响改变匹配开始的下标位 匹配不到返回 null

        var reg = /^\d/;console.log(reg.exec('123'));["1", index: 0, input: "123", groups: undefined]0: "1"groups: undefinedindex: 0input: "123"length: 1__proto__: Array(0)

字符串中的正则方法

字符串的 match()方法

可以与正则表达式匹配  第一项表示匹配结果 index是匹配开始的下标

        var reg = /^\d/;var s = '123abc';console.log(s.match(reg));["1", index: 0, input: "123abc", groups: undefined]0: "1"groups: undefinedindex: 0input: "123abc"length: 1__proto__: Array(0)

字符串的 search()

方法 返回第一次匹配到的下标

        var reg = /^\d/;var s = '123abc';console.log(s.search(reg));-->0

字符串的 split()方法

分割字符串 利用正则表达式多种分割方式

        var reg = /[\t\s,-]/;var s = 'asadsa,sda sdad-sdd\tsdad';console.log(s.split(reg));(5) ["asadsa", "sda", "sdad", "sdd", "sdad"]0: "asadsa"1: "sda"2: "sdad"3: "sdd"4: "sdad"length: 5__proto__: Array(0)

字符串的 replace()

方法 返回用新的子串来替换被匹配的字符串 不会改变原来字符串 要开启全局匹配

        var reg = /[\s,]/g;var s = 'asadsa,sda sdad-sdd\tsdad';console.log(s.replace(reg,"'"));//-->asadsa'sda'sdad-sdd'sdadconsole.log(s.replace(/[\t\s,-]/g,","));//-->asadsa,sda,sdad,sdd,sdad

第二个参数可以是一个函数 函数的第一个参数match是匹配到的结果 把他进行大写

        var reg = /[\s,]/g; //正则表达式var s = 'asadsa,sda sdad-sdd\tsdad';console.log(s.replace(/\b[a-z]/g,function(match){return match.toUpperCase(); -->Asadsa,Sda Sdad-Sdd    Sdad}));

字符串的 trim()方法

去掉字符串首位空格

        var reg = /[\s,]/g;var s = '   study   shcool class name  one abcd   ';console.log(s.replace(/\s*\b[a-z]\s*/g,function(match){return match.toUpperCase().trim();//-->StudyShcoolClassNameOneAbcd}));

正则表达式 String中正则匹配的方法相关推荐

  1. html img正则,html中正则匹配img

    1.正则匹配html中的img标签,取出img的url并进行图片文件下载: /// /// 将image标签的src属性的url替换为base64 /// /// /// 返回替换imgurl后的qu ...

  2. Java中删除String中空格的多种方法

    在Java中,要实现删除String中的空格的方法有很多种,具体有: 1. trim() 删除字符串开头和结尾的空格,Java 1版本引入的接口,这是开发人员最常用的方法.trim移除的空白字符指的是 ...

  3. python正则匹配空格+数字+空格_详解Python中正则匹配TAB及空格的小技巧

    详解Python中正则匹配TAB及空格的小技巧 发布时间:2020-10-15 08:38:48 来源:脚本之家 阅读:94 作者:杰瑞26 在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任 ...

  4. java中正则匹配字符串长度_Java中使用正则表达式校验字符串

    Java中使用正则表达式校验字符串 正则表达式是某一位伟大的数学家发明的,现在已经形成了一个ISO标准,这个标准和编程语言没有关系.至于具体谁发明的,怎么发明的,我也忘记了:). 正则表达式简单理解就 ...

  5. Python中正则匹配使用findall时的注意事项

    在使用正则搜索内容时遇到一个小坑,百度搜了一下,遇到这个坑的还不少,特此记录一下. 比如说有一个字符串  "123@qq.comaaa@163.combbb@126.comasdf111@a ...

  6. Java中去除String中空格的多种方法

    问题 首先我们先假设需要对一个字符串"hello world!"做分割,去除中间的空格,获取每一个单词的字符串数组words. 方法1 我们最简单也是最容易的方法是使用split对 ...

  7. Python中正则匹配与中文的问题

    笔者改写了一个爬虫,来爬取补天SRC的漏洞认领页面,将单位名称.漏洞名称.漏洞危害等级爬取下来,但是在正则匹配"漏洞名称"的过程中遇到了一些麻烦. 如上图,想要把"SQL ...

  8. python正则_python中正则匹配

    写代码时候,不管是爬虫,还是获取某些特定的资源,我们需要写正则表达式. 因为不常用,有些语法生疏.有时明明觉得自己的语法可以,可就是不行. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之 ...

  9. python 正则 匹配任意字符串_python中正则匹配

    写代码时候,不管是爬虫,还是获取某些特定的资源,我们需要写正则表达式. 因为不常用,有些语法生疏.有时明明觉得自己的语法可以,可就是不行. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之 ...

最新文章

  1. 第10章 嵌入式linux的调试技术
  2. 2020-12-01 Halcon初学者知识[1] 初始界面
  3. 极速写作2017彻底卸载_如何将 Flash 从 Mac 和 Windows 系统中彻底卸载?
  4. opa847方波放大电路_电子管放大电路当中阴极电阻的作用和选择
  5. 梧州计算机学考查询,学考成绩查询
  6. Linux 进程间通讯(IPC)方式 ------- 共享内存
  7. oracle的安装与卸载
  8. QCC3020/QCC3040 TWS耳机按键切换EQ,APP切换EQ功能实现
  9. 计算机桌面常见故障,电脑常见故障问题以及解决办法
  10. Nucleus SE RTOS 初始化和启动
  11. 怎么压缩解压打包文件???
  12. Java JUI打字小游戏项目
  13. c语言 随机四则运算,随机四则运算 C语言
  14. 计算机创新创业计划2000字,创新创业论文2000字
  15. Springboot自动装配源码分析
  16. 曾国藩格言与众君共勉
  17. SSM框架+WebSocket实现网页聊天(Spring+SpringMVC+MyBatis+WebSocket)
  18. 线程实例分析---线程的综合运用(精灵线程,多线程,中断,通信)【java养成】
  19. ceph rbd mysql_如何在 Kubernetes 环境中搭建 MySQL(三):使用 PVC 挂接 RBD
  20. html隐藏m3u8文件,播放具有HTML视频标签的m3u8文件

热门文章

  1. Python开发 CDN查询子域名查询
  2. comsumer配置
  3. 汉诺塔怎么加计数次数c语言,C语言算汉诺塔,递归时的输出是怎么一步一步来的?如图,求大神帮忙...
  4. 【Office插入eps】Word插入eps出错
  5. 64位 window 在notepad++中添加HexEditor工具
  6. 5.node.js中的事件循环
  7. 送给前端的你,推荐几篇前端汇总文章。(来自知乎专栏)
  8. 小型机与PC服务器的区别(phpc)
  9. Class org.datanucleus.api.jdo.JDOPersistenceManagerFactory was not found
  10. 非线性可视化(3)混沌系统