【正则】字符类-总
【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);
**