【JavaScript】知识点归纳:正则表达式中的特殊字符

正则表达式作用:

•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证
•替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字
•根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字

正则表达式语法

一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

字符 含意

\

  • 做为转意,即通常在"\“后面的字符不按原来意义解释,如/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]。

  • RegExp构造函数第一个参数为正则表达式的文本内容,而第一个参数则为可选项标志.标志可以组合使用
    •g (全文查找)
    •i (忽略大小写)
    •m (多行查找)

正则表达式对象的方法

•test,返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。如果存在则返回 true,否则就返回 false。
•exec,用正则表达式模式在字符串中运行查找,并返回包`含该查找结果的一个数组。
•compile,把正则表达式编译为内部格式,从而执行得更快。

正则表达式对象的属性

•source,返回正则表达式模式的文本的复本。只读。
•lastIndex,返回字符位置,它是被查找字符串中下一次成功匹配的开始位置。
•1…9,返回九个在模式匹配期间找到的、最近保存的部分。只读。
•input (),返回执行规范表述查找的字符串。只读。
•lastMatch(&),返回任何正则表达式搜索过程中的最后匹配的字符。只读。
•lastParen (+),如果有的话,返回任何正则表达式查找过程中最后括的子匹配。只读。
•leftContext(`),返回被查找的字符串中从字符串开始位置到最后匹配之前的位置之间的字符。只读。
•rightContext ($’),返回被搜索的字符串中从最后一个匹配位置开始到字符串结尾之间的字符。只读。

String对象一些和正则表达式相关的方法

js 字符串操作函数
  我这里只是列举了常用的字符串函数,具体使用方法,请参考网址http://www.w3school.com.cn/jsref/jsref_obj_string.asp

  • concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
  • indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。
  • charAt() – 返回指定位置的字符。
  • lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
  • match() – 检查一个字符串是否匹配一个正则表达式。
  • substr() 函数 – 返回从string的startPos位置,长度为length的字符串
  • substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
  • slice() – 提取字符串的一部分,并返回一个新字符串。
  • replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
  • search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
  • split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
  • length – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
  • toLowerCase() – 将整个字符串转成小写字母。
  • toUpperCase() – 将整个字符串转成大写字母。

【JavaScript】知识点归纳:正则表达式中的特殊字符
【JavaScript】知识点归纳:正则表达式中的特殊字符
详址:https://www.cnblogs.com/mq0036/p/4836439.html