diff --git "a/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\344\275\234\344\270\232/11.16.html" "b/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\344\275\234\344\270\232/11.16.html" new file mode 100644 index 0000000000000000000000000000000000000000..7636eebdca08ed749045366422a9aed7b529003c --- /dev/null +++ "b/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\344\275\234\344\270\232/11.16.html" @@ -0,0 +1,25 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\347\254\224\350\256\260/11.16.md" "b/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\347\254\224\350\256\260/11.16.md" new file mode 100644 index 0000000000000000000000000000000000000000..2cb7ea935baeda625fdf3672d3ca00c9b2c1d4c7 --- /dev/null +++ "b/42\345\224\220\347\232\223\351\242\226/\347\254\224\350\256\260/\347\254\224\350\256\260/11.16.md" @@ -0,0 +1,58 @@ +分组和捕获 + +分组:1.改变优先级 2.分组引用 + +分组用()进行,为子表达式 + +捕获和反捕获都是针对子表达式进行的 + +/(ab)(12)/.exec('ab12')//小括号中的为单独的字符串 +/d{4}-/d{3}-d{2} +//数字代表几位数 +regExp.$1(2.3.....)//输出下标为1的 +使用replace捕获分组 + +var pattern=/([a-z]+)(\d+) +str.replace.(pattern."$2$1") +//与regExp中的$2$1作用相同 +反捕获 反捕获组只匹配结果,不能在表达式和程序中做进一步处理 举例说明 (hello) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到。 (?:hello) 匹配 pattern 但不获取匹配结果 (?=hello) 正向肯定预查(look ahead positive assert。这是一个非获取匹配。 (?!hello) 正向否定预查(negative assert)。这是一个非获取匹配。 (?<=hello) 反向(look behind)肯定预查,与正向肯定预查(?=pattern)类似,只是方向相反。这是一个非获取匹配。 (?反捕获 ??--> 非贪婪{0,1} + + 查b (由c紧跟着) + console.log(/b(?=c)/.exec('abcbd')); + + 查a (后面跟的不是b) + console.log(/a(?!b)/.exec('abca')); +异常 + +null:不能再添加其他属性 + +包装类 :null.undefined没有包装类 + +异常处理 + +try(//尝试捕获异常,里面放的是可能出错的代码){ + +}catch(error){ + +log(error)//指出报错的地方 + +}finally//不管有没有捕获错误都会运行{ + +} + +每次只能捕获一个异常