JavaScript之正则表达式

2020-02-25  本文已影响0人  前白

概念:正则表达式在代码中常简写为regex、regexp或RE,使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。(搜素模式可以用于文本搜索和文本替换)

语法

/正则表达式主体/修饰符(可选)

创建方式

正则表达式相关知识

关于正则表达式的一些知识我们可以从以下几个方面来了解:

直接量字符:所有字母和数字都是按照字面含义进行匹配的,其他非字母的字符需要通过 \ 作为前缀进行转移。注意,它们都是精确匹配,每一个字符都只能匹配一个字符。

字符类:不想匹配某一个特定的字符而是想匹配某一类字符的情况下。

重复:当一个模式需要被多次匹配的时候。

选择:用| 字符分隔可供选择的模式,匹配时会尝试从左至右匹配每一个分组,直到发现匹配项。

引用:带圆括号的表达式的另一个用途是允许在同一个正则表达式的后面引用前面的子表达式。

分组:带 () 的可以把单独的项组合成子表达式以便可以像一个独立的单元用 |*+ 或者 ? 对单元内的项进行处理。

锚元素:不用来匹配实际的字符,而是匹配指定的位置。(任何正则表达式都可以作为锚点条件)

修饰符

字符串正则方法

String.prototype.search(regexp|substr)

返回第一个和参数匹配的子串的起始位置,没有匹配子串返回 -1;如果参数不是正则表达式,将会通过 RegExp 构造函数转换成正则表达式。

String.prototype.replace(regexp|substr, newSubStr|function)

第一个参数同 search ,查找指定子串,如果第二个表达式是字符串,将把第一个参数匹配的子串替换成为 newSubStr;如果在替换字符串中出现了 $ 加数字, replace 将用与指定的子表达式相匹配的文本来替换这些字符。

使用字符串作为参数时替换字符串可以插入下面的特殊变量名:

String.prototype.match(regexp)

参数 regexp 为一个正则表达式对象。如果传入一个非正则表达式对象,则会隐式地使用 new RegExp(obj) 将其转换为一个 RegExp

String.prototype.split([separator[, limit]])

separator 指定表示每个拆分应发生的点的字符串,可以是一个字符串或正则表达式,如果空字符串("")被用作分隔符,则字符串会在每个字符之间分割。

limit 一个整数,限定返回的分割片段数量。

RegExp 属性

方法

上一篇下一篇

猜你喜欢

热点阅读