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"。同样的,“(?!”为负向先行断言。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。