正则表达式(菜鸟教程)

编程知识 行业动态 更新时间:2024-06-13 00:18:03

文章目录

  • 普通字符
  • 特殊字符
  • 修饰符(标记)


普通字符

'+ 前面的字符出现一次或多次

eg:run + b 等价于 runnb,runnnn…b do(es) + 等价于 does,doeseses…

'* 前面的字符0,1多次

? 前面的字符0,1次

. 换行符\n之外的任何单字符

| 两项之间的一个选择

\ 转义符号 eg:* 就是匹配字符* 而不是特殊字符

特殊字符

[ABC]:匹配ABC(顺序无关)

^:取反

[A-Z],[0-9],[a-z] 分别匹配三个区间

\w:匹配字母,数字,下划线 等价于[A-Za-z0-9_]

\d:匹配数字

\n:匹配换行符

\r:匹配回车符

\s:匹配空白字符

\S:匹配非空白字符

{n}:非负整数,匹配确定的n次 eg:o{2} 匹配 food 中的两个o

{n,}:至少匹配n次 o{1,} 等价于o+ o{0,}等价于o*

{n,m}:匹配最少n最多m eg:[0-9]{1,2} 取0-99

[1-9][0-9 匹配一个正整数 前面为了去0,后面*是0.1多次

$:匹配输入字符串的结尾位置

\b:匹配一个单词边界,即字和空格间的位置 eg:\bCha 或者 /ter\b/ 前面是从单词的开始处查找匹配项,后面是结尾处查找匹配项

\B:非单词边界匹配 eg:\Bapt 能匹配Chapter 中的字符串 apt,但不匹配 aptitude 中的字符串 apt 应该是前者的三个字母出现在非单词边界处

():标记子表达式的开始和结束位置

eg: 123456runoob123runoob456 ([1-9])([a-z]+):匹配一个数字开头,多个字母结尾,此时匹配出来的是6runoob和3runoob

exp1(?=exp2):查找 exp2 前面的 exp1。 eg:runoob(?=[\d+]) 匹配出来的就是例子中123456后面的runoob

(?<=exp2)exp1:查找 exp2 后面的 exp1。eg:(?<=[\d+]runoob) 匹配出来的就是456前面的runnoob

修饰符(标记)

var str=“Google runoob taobao runoob”;

var n1=str.match(/runoob/); // 查找第一次匹配项

var n2=str.match(/runoob/g); // 查找所有匹配项

var n3=str.match(/runoob/gi); // 查找所有匹配项且不区分大小写

var n4=str.match(/runoob/gm); // 多行匹配

更多推荐

正则表达式(菜鸟教程)

本文发布于:2023-03-26 05:45:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/0a53942d37c36f627752a987caa71f02.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜鸟   教程   正则表达式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!