js RegExp正则的功能非常强大,可以匹配你需要的所有规格;
解释: 按照某种规则去匹配符合条件的字符串;
可视化工具,帮助更好观察代码,分析
https://regexper.com/#%5E%5Cd%2B%5Cw%24%0A
https://jex.im/regulex/#!embed=false&flags=&re=%5E%2Fd%2B%24
有没有很高大上?
很直观
http://img1.jpg
http:(//.+.jpg)
$1
正则有两种实现方式
1.字面量
直接量语法:/pattern/attributes
2.构造函数
创建 RegExp 对象的语法:new RegExp(pattern, attributes);
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。
返回值
一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
抛出
SyntaxError - 如果 pattern 不是合法的正则表达式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,抛出该异常。
TypeError - 如果 pattern 是 RegExp 对象,但没有省略 attributes 参数,抛出该异常。
i:执行对大小写不敏感的匹配
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m:执行多行匹配。
字符类
范围类:
预定义类:
边界:
量词:
贪婪模式:(尽可能多的匹配)
非贪婪模式
分组:
**.1或: or **
反向:
前瞻
对象属性:(只读属性)
text 和exec
搜索search
忽略g
match
全局调用
split