Fork me on GitHub
魔芋铃

【正则】字符类-总

【01】总
 

01,方括号用于查找某个范围内的字符。

02,(魔芋:这里匹配的还是字符串的单一字符。)

 
03,字符类是一组在方括号内的字符,表示可以匹配其中的任何一个字符。将直接量字符单独放进方括号内就组成了字符类(character class)。
 
  • 正则表达式c[aeiou]t,表示可以匹配的字符串是”以c开头,接着是aeiou中的任何一个字符,最后以t结尾”。在文本的实际应用中,这样的正则表达式可以匹配:cat,cet,cit,cot,cut五种字符串。
  • 正则表达式[0123456789]表示匹配任意一个整数。
  • 正则表达式[a]表示匹配单字符a。
 

04,在字符类中,字符的重复和出现顺序并不重要。[dabaaabcc]与[abc]是相同的。

05,字符类中和字符类外的规则有时不同,一些字符在字符类中是元字符,在字符类外是普通字符。一些字符正好相反。还有一些字符在字符类中和字符类外都是元字符,这要视情况而定!

  • .表示匹配任意一个字符,而[.]表示匹配一个全角句号。
  • [?.]匹配普通的问号和点号。
  • 反斜杠字符 \ 在[]中仍为转义字符。若要匹配反斜杠字符,请使用两个反斜杠 \\
  • 要匹配\d,应该使用正则表达式\\d
 
06,若要在中括号表达式中包括连字符,用反斜扛将它转义:
[\-]
 
 
  • \[a\]表示匹配字符串[a]

  • [\[\]\ab]表示匹配的字符为”[“或者”]”或者”a”,或者”b”
  • [\\\[\]]表示匹配的字符为”\”或者 “[”或者”]”

 

07,范围的字符值代表的是字符而已,并不能代表数值范围,比如[1-31]表示匹配一个数字,是1或者3,而不是匹配一个数值在1到31之间的数。
 

 

 
 
 

 

[abc]或 [...]

匹配方括号中的任何字符。(这里abc泛指各种字符)

 

[^abc]或[^...]

查找任何不在方括号之间的字符。

 


 

特定组合:

[0-9]

查找任何从 0 至 9 的数字。

 

[a-z]

查找任何从小写 a 到小写 z 的字符。

 

[A-Z]

查找任何从大写 A 到大写 Z 的字符。

 

[A-z]

查找任何从大写 A 到小写 z 的字符。

 


 

(x|y)

查找任何以 | 分隔的选项。x,y为一个整体来匹配。(可以匹配x或匹配y)

 

例子:
var patt = /(ab|123)/gi;
var str="fsdfabdeb32512312"
 

 
 
 
例子:
 
 
 
var str = "ab..cdedssab";
var reg = /[a.b]/g;

var res = str.match(reg);
console.log(res);
 
 
 

**

posted @ 2018-06-14 20:19  魔芋铃  阅读(328)  评论(0编辑  收藏  举报