美文网首页
正则 整理1

正则 整理1

作者: Jack_Yin | 来源:发表于2016-03-25 11:46 被阅读0次

正则表达式有两种创建方式

  • 字面量法

var reg =/jack/;

  • 构造函数法

var reg = new RegExp("jack","options" ); //需要两个字符串参数,正则的字符串表现,一个可选的标志字符窜(i/g/m);

实例方法

  1. exec(),接受一个需要应用正则的字符串,若返回包含第一个匹配项信息的数组,如无匹配则返回null
    返回的数组包含两个额外属性
  • input 应用正则的字符串(即传入的字符串)
  • index 匹配项在字符串中的位置

var text ="jack yin and haha"
var reg =/jack yin (and (haha)?)?/g
reg.exec(text) //["jack yin and haha", "and haha", "haha"]

首先匹配整个字符串得到数组第一项,然后是第一个捕获组(and haha)?,最后是(haha)?,若没有捕获组则返回数组只包含一项。(捕获组就是在括号里面的匹配项)

(x)----->匹配‘x’并且记住匹配项。这个被叫做捕获括号。

在exec中如果不使用g(全局匹配),每次调用exec()都返回第一个匹配项,使用全局搜索,每次返回一个匹配项,每次调用exec()会继续查找新匹配项。

2.test()接受一个字符串参数,若模式匹配则返回true,不匹配返回false
常用于if判断中

特殊字符

/ 转义
^ 匹配开始
$ 匹配结束
* 匹配前一项任意次
+ 一次或多次 和{1,}效果相同
? 0或1次 如果?跟在(*、+)量词后面则会使量词变成非贪婪模式,默认是贪婪模式(匹配最多的次数)使用/\d+/非全局匹配“123abc"将返回”123“,如果使用/\d+?/就会只匹配到1
. 匹配除换行符(\n)之外任意单个字符
(x) 捕获括号 匹配到的子串可以通过结果数组[0],[1],[2]...取得
x(?=y)正向肯定查找 /jack(?=haha)/只会匹配后面跟着haha的jack
x(?!y)正向否定查找 /jack(?!haha)/只会匹配后面没有跟haha的jack
x|y x或y
{n} 匹配前一字符出现了n次(n为正整数)
{n,m} 匹配前面字符至少出现n次,最多m次
[a-z.] 字符集合,匹配括号中的任意字符
[^a-z] 反向字符集 ,匹配没有包含在放括号中的字符
[\b]匹配一个退格
\b 匹配一个词的边界/\bm/匹配moon-->m
\B 匹配一个非单词边界(他匹配一个前后字符都是相同类型的位置:都是单词或者都不是单词。一个字符串的开始和结尾都被认为是非单词。) /\Bm./匹配momn --->mn
\cX 当x是一个处于a-z之间的字符的时候,匹配字符串中一个控制符(未校验)
\d 匹配一个数字 等价于[0-9]
\D 匹配一个非数字字符等价于[^0-9]
\f 换页符
\n 换行符
\r 回车符
\s 匹配空白字符(包括空格、换行、换页、制表)
\S 匹配非空字符

var reg =/\S\w/; var str ="foo bar"; reg.exec(str)
["foo"]
var reg =/\s\w
/; var str ="foo bar"; reg.exec(str)
[" bar"]

\w 匹配一个单一字符(字母、数字、下划线)等价于[a-zA-Z0-9_]
\W匹配一个非单字字符

var reg=/\W/; var str ="50%"; reg.exec(str)
["%"]

下一节补充正则在string的match/replace/search/split中的应用

相关文章

  • 正则 整理1

    正则表达式有两种创建方式 字面量法 var reg =/jack/; 构造函数法 var reg = new Re...

  • 正则整理

  • 正则整理

    在element-ui里判断正则 0-100的整数 校验中文 只能输入数字

  • iOS正则表达式各种类型校验

    朋友需要一些正则表达式使用,这边现整理一些项目中会遇到的正则表达式吧,目前整理的是:1)手机号检验2)密码校验3)...

  • 正则表达式学习

    权威文档 1.mdn文档 大佬门的整理 1.《JavaScript 正则表达式迷你书》问世了!

  • Coding and Paper Letter(六十)

    资源整理。 1 Coding: 1.有用的正则表达式模式的集合。 RegexHub 2.纽约Python Meet...

  • js正则整理

    第一步:定义一个正则表达式 定义正则表达式有两种方法,第一种通过"/正则表达式/修饰符"这种形式直接写出来,第二种...

  • web正则整理

    WEB 正则总结: 正则是做什么的:正则就是操作字符串的 str.replace() str.replace('把...

  • 「正则规范整理」

    正则表达式的定义:用来描述或匹配一系列匹配某个句法规则的字符串。 正则的语法有哪些: 1. 选择 竖线 | ,最低...

  • linux符号整理-正则整理

    引号符号系列: 重定向符号系列: 特殊符号系列: 通配符系列匹配文件内容信息 正则符号系列: 扩展正则系列:

网友评论

      本文标题:正则 整理1

      本文链接:https://www.haomeiwen.com/subject/ijmllttx.html