
1、实例化RegExp
var reg = /RegExp/RegExp Pattern
var reg = new RegExp(' RegExp ', ' RegExp Pattern ');需要注意的是,在JS里面\是特殊字符,要转义
2、匹配模式(不全啦)
g : 全局匹配(global)
i : 忽略大小写(iganore case)
m: 多行搜索(multiple lines)
3、字符类
正则表达式一个字符匹配一个字符,如果遇到多个候选的匹配字符,可以使用字符类 [ ],即字符的集合,语义为one of多个候选的匹配字符。

字符类取反,[^abcd]js正则表达式 不匹配,即匹配不是abcd中的内容
4、范围类
范围说到底也是一个集合js正则表达式 不匹配,肯定和字符类有关联,他们都是放在中括号中的,区别就是他可以用简写的方法表示一个有规律的集合,例如0-9,a-z,A-Z。而且范围类是可以连写的,a-zA-z
5、预定义类
就是常用字符类的别名
. (英文字符点) 表示除回车换行外的所有字符。 [^\r\n]
\d (应该是digit)数字
\D 非数字
\w(Word,我猜的) [a-zA-Z0-9_] ,单词字符,就是命名标志符的可用的那些字符

\W 非单词字符
\s(space,我猜的) [\t\n\x0B\f\r]空白符
\S 非空白符
6、边界
^ 匹配以什么开头的
$匹配以什么结尾的
\b(不知道是border 还是boundary)以什么作为边界
\B没有作为边界的
(4)“/b”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内。定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内, 即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。\b 对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

7、量词
? 出现 [0,1]次
+ 出现[1,+∞]次
* 出现[0,+∞]次
{n} 出现n 次
{m,n} 出现[m,n]次
{n,} 出现{n,+∞}次
8、贪婪模式与非贪婪模式
这个修饰符逆转了量词的"贪婪"模式. 使量词默认为非贪婪的, 通过量词后紧跟。懒惰模式(lazy quantifier)和贪婪模式相对应,在量词后加问号'。默认情况下,正则表达式会尽可能多地匹配(贪婪模式),只需要在重复字符后面添加问号。

9、分组
() 可以包含一个分组,使量词作用于分组,和数学中提高优先级的小括号有异曲同工之妙。
10、或 |
就是逻辑或,这里也要用分组重点标识一下,得100分的和得99分的都是别人家的孩子就是别人家的孩子: (99|100)分
11、反向引用
即捕获的分组,用$加数字组成,数字从1开始,$1表示第一个分组,$2表示第二个分组……
不希望被捕获的分组只需要在分组头部加上?:即可。(?:谜一样的分组)
12、断言
什么是断言呢,假如我是一个女的(其实我本身就是),我要嫁一个男的,我要嫁的是男的本身没错,但是我想要他有一条狗,一百二十斤的大金狗,那我就要找了男(?=120斤的大金狗),120斤的大金狗就是断言部分。如果我要是不喜欢狗,可以这样匹配男(?!120斤的大金狗)
13、正则对象的原型对象的方法
test(str) //测试字符串有没有匹配成功,返回true或false
特例:如果pattern是一个包含圆括号表达式的正则表达式,则匹配这些圆括号表达式的子串(但不是匹配整个pattern的文本)将包含在返回数组中。当我们未传入全局匹配的g标签时,match方法会返回一个包含一个该正则完整匹配的字符及其后仍次的子分组匹配字符的数组。找到匹配则返回数组(非全局检索),数组的元素0是与正则表达式匹配的字符串,余下元素是与圆括号内的子表达式相匹配的子串。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-108444-1.html
如果他能接受这个称呼
但就因为他对美国说“关你鸟事”
052D虽然不及它