正则表达式字符&如何使用

正则详细解说:https: juejin im post 5965943ff265da6c30653879 一、正则表达式中的字符含意 做为转义,即

正则详细解说:https://juejin.im/post/5965943ff265da6c30653879

一、正则表达式中的字符含意

\    做为转义,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。
-或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/ 匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a$/ 匹配"An a",而不匹配"an A" * 匹配前面元字符0次或多次,/ba*/ 将匹配 b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba+/ 将匹配 ba,baa,baaa ? 匹配前面元字符0次或1次,/ba?/ 将匹配b,ba
(x) 匹配 x 保存 x 在名为$1...$9的变量中 x|y 匹配 x 或 y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次 [xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符) [^xyz] 不匹配这个集合中的任何一个字符 [\b] 匹配一个退格符 \b 匹配一个单词的边界 \B 匹配一个单词的非边界 \cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M \d 匹配一个数字字符,/\d/ = /[0-9]/ \D 匹配一个非字数字符,/\D/ = /[^0-9]/ \n 匹配一个换行符 \r 匹配一个回车符 \s 匹配一个空白字符,包括\n,\r,\f,\t,\v等 \S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/ \t 匹配一个制表符 \v 匹配一个重直制表符 \w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9] \W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

二、正则表达式直接量字符

\ f 换页符 
\ n 换行符 
\ r 回车 
\ t 制表符 
\ v 垂直制表符 
\ / 一个 / 直接量 
\ \ 一个 \ 直接量 
\ . 一个 . 直接量 
\ * 一个 * 直接量 
\ + 一个 + 直接量 
\ ? 一个 ? 直接量 
\ | 一个 | 直接量 
\ ( 一个 ( 直接量 
\ ) 一个 ) 直接量 
\ [ 一个 [ 直接量 
\ ] 一个 ] 直接量 
\ { 一个 { 直接量 
\ } 一个 } 直接量 
\ XXX 由十进制数 XXX 指定的ASCII码字符 
\ Xnn 由十六进制数 nn 指定的ASCII码字符 
\ cX 控制字符^X. 例如, \cI等价于 \t, \cJ等价于 \n

三、正则表达式的字符类

[...] 位于括号之内的任意字符 
[^...] 不在括号之中的任意字符     onkeyup="value=value.replace(/[^\d^\.]+/g,'')"    非数字非点替换为空
. 除了换行符之外的任意字符,等价于[^\n] 
\w 任何单字字符, 等价于[a-zA-Z0-9] 
\W 任何非单字字符,等价于[^a-zA-Z0-9] 
\s 任何空白符,等价于[\ t \ n \ r \ f \ v] 
\S 任何非空白符,等价于[^\ t \ n \ r \ f \ v] 
\d 任何数字,等价于[0-9] 
\D 除了数字之外的任何字符,等价于[^0-9] 
[\b] 一个退格直接量(特例) 

四、正则表达式的复制字符

{n, m} 匹配前一项至少n次,但是不能超过m次 
{n, } 匹配前一项n次,或者多次 
{n} 匹配前一项恰好n次 
? 匹配前一项0次或1次,也就是说前一项是可选的. 等价于 {0, 1} 
+ 匹配前一项1次或多次,等价于{1,} 
* 匹配前一项0次或多次.等价于{0,} 
/\d{2, 4}/ //匹配2到4间的数字.

/\w{3} \d?/ //匹配三个单字字符和一个任意的数字.

/\s+java\s+/ //匹配字符串"java" ,并且该串前后可以有一个或多个空格.

/[^"] * / //匹配零个或多个非引号字符.

五、正则表达式的使用

        5.1 正则表达式的创建

        5.2 RegExp对象方法

               test():  exec(str)

        5.3 String对象的match()replace()split()search()也用到了正则的模式匹配;

                具体如何使用请参考文章:https://www.cnblogs.com/rain-null/p/7358267.html

 

参考的文章:

https://www.cnblogs.com/rain-null/p/7358267.html

https://www.cnblogs.com/mmzuo-798/p/7264093.html

标签: 下划线 之内