正则表达式

    1.()表达式允许在同一正则表达式的后部引用前面的子表达式。这是通过字符“\"后加

一位或多位数据来实现的。这个数字指定了带圆括号的子表达式在正则表达式中的位置,如:

/(['"])[^'"]*\1/ //\1代表开头的'或"
    这个匹配的是单引号或双引号之内的0或多个字符,并且左侧和右侧的引号要匹配。


    2."(?:"和")"也可以对子表达式进行分组,但是不会创建带数字编码的引用。 

    /([Jj]ava(?:[Ss]cript)?)\sis\s(fun\w*)/
    这里,\2会引用(fun\w*)匹配的文本。

    3."(?="和“)”之间的表达式就是一个先行断言,也称零宽断言,用于说明圆括号内的

表达式必须正确匹配,但并不是真正意义上的匹配。比如:

/[Jj]ava([Ss]cript)?(?=\:)/
可以匹配“Javascript:the definitive guide"中的“Javascript",但是不能匹配“Java in a nutshell"

中的"Java"。同样的,“(?!”为负向先行断言。


你可能感兴趣的:(正则表达式)