正则学习

字符类[ ]

合乎某些特色的一个对象
/[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