前言说明

根据网上的正则表达式学习教程记录。仅供个人学习参考使用。

正则表达式能干嘛?

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

  1. 测试字符串内的模式
    例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证
  2. 替换文本
    可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
  3. 基于模式匹配从字符串中提取子字符串
    可以查找文档内或输入域内特定的文本

试水示例

示例图一
示例图一

^:匹配输入字符串的开始位置; $:匹配输入字符串的结束位置
[0-9]+:匹配多个数字;[0-9]:匹配单个数字;+: 匹配一个或者多个.
abc$:匹配字母 abc 并以 abc 结尾;

1)[0-9]+:匹配多个数字演示

L_K_1_P1KM_VR7_V____OOC.png
L_K_1_P1KM_VR7_V____OOC.png

2)匹配以数字开头,并以 abcd 结尾的字符串

UDM9WNEJ_L2R_WOVSAQLGGQ.png
UDM9WNEJ_L2R_WOVSAQLGGQ.png

javascript正则表达式

JavaScript RegExp 对象

RegExp:是正则表达式(regular expression)的简写。 以下以RegExp作为正则表达式的称呼。

语法规则

var patt=new RegExp(pattern,modifiers);
或更简单的方法:var patt=/pattern/modifiers;

RegExp修饰符

修饰符用于执行不区分大小写全文的搜索

i : 修饰符是用来执行不区分大小写的匹配。

_`~THPWQU___LHLRQH`WH~O.png
_`~THPWQU___LHLRQH`WH~O.png

g : 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。

H9H5GBZP@NXXHW_~NL@CLCE.png
H9H5GBZP@NXXHW_~NL@CLCE.png

gi : 全文查找和不区分大小写搜索

H~UIV3H5F8DC_M44@0BPBDJ.png
H~UIV3H5F8DC_M44@0BPBDJ.png

test()

test()方法搜索字符串指定的值,根据结果并返回真或假(true或false)。

A__9I_P_G744S_D_@X_~FG8.png
A__9I_P_G744S_D_@X_~FG8.png

当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠\

~~AL2XI5__EN0_D6Q9A_D_8.png
~~AL2XI5__EN0_D6Q9A_D_8.png

\w+和\w+没有区别,都是匹配数字和字母下划线的多个字符;

1EU__Q_4I6WKQBV2_H93TMN.png
1EU__Q_4I6WKQBV2_H93TMN.png

exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

G@PGNVN__PTJ`TZB17LALYD.png
G@PGNVN__PTJ`TZB17LALYD.png