正则学习

Posted 园艺小妹儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则学习相关的知识,希望对你有一定的参考价值。

正则学习

字符类[ ]

符合某些特征的一个对象
/[ABC]/ 表示匹配ABC 中的一个即可

  • 反向类[^]在中括号中加^

例:[ ^A ] 就是匹配不是A的字符

范围类[A-Z]

可以匹配A-Z内的任意一个字符

预定义类

  • 预定义字符:

\\d 表示数字

  • 边界字符

\\b 表示边界
^在[]外表示匹配开头的意思
$表示匹配结尾的意思

量词

{n} 匹配字符串长度为n

{m,n} 匹配字符串长度最小为m,最大为n
{m,} 匹配字符串长度最小为m,最大为无穷
{0,n} 匹配字符串长度最小为空,最大为n
+ 出现次数>=1
* 现次数>=0
? 出现次数 0或者1
. 可以匹配任意字符,除了空白字符中的换行符\\n

贪婪模式

  • 12345678.replace(/\\d{3,6}/,‘x’) 输出X78

非贪婪模式

只需要在量词后面添加一个问号

  • 12345678.replace(/\\d{3,6}?/,‘x’) 输出XX78 尝试最少可能的匹配

分组

使用()可以使量词最用与分组而非紧挨着它的单词

‘a1b2c3d4’.replace(/([a-z]\\d){3}/g),‘x\')
输出xd4

a|b

反向引用

$引用(捕获)

2019-12-05 替换成12/05/2019

\'2019-12-05\'.replace(\'/(/d{4}-(\\d{2})-(/d{2}))/g\',\'$2/$3/$1\')
$是以分组捕获

不想捕获分组的时候只需要在分组内加上?:
(?:gray).(ok) 这里$1是ok

前瞻和后顾

待学习

原本含义的字符

待学习

元字符(代表特殊含义的字符)

待学习

XMind - Trial Version

以上是关于正则学习的主要内容,如果未能解决你的问题,请参考以下文章

DAY8(机器学习--正则化总结)

正则表达式的学习

一起学习正则表达式正则匹配原理

一起学习正则表达式正则匹配原理

一起学习正则表达式正则匹配原理

一起学习正则表达式正则匹配原理