From 3b3c5e94737ad52b513c191aafa07bd01e96ac26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8D=8E=E4=BC=9F?= <1931626338@qq.com> Date: Tue, 15 Nov 2022 23:09:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=AD=A3=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\346\254\241\344\275\234\344\270\232.html" | 27 ++++ .../2022-11-14 \346\255\243\345\210\231.md" | 118 ++++++++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 "12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-14 \347\254\254\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232.html" create mode 100644 "12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-14 \346\255\243\345\210\231.md" diff --git "a/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-14 \347\254\254\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232.html" "b/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-14 \347\254\254\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232.html" new file mode 100644 index 0000000..bb2b5e6 --- /dev/null +++ "b/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-14 \347\254\254\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232.html" @@ -0,0 +1,27 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-14 \346\255\243\345\210\231.md" "b/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-14 \346\255\243\345\210\231.md" new file mode 100644 index 0000000..8c5efe4 --- /dev/null +++ "b/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-14 \346\255\243\345\210\231.md" @@ -0,0 +1,118 @@ +# 2022-11-14 + +## 正则 + +##### 一、什么是正则表达式:所谓正则表达式也称为规则表达式,作用是用来校验字符串是否符合规则要求,也可以用来检索字符串中是否包含符合要求的子串。 + +### 二、正则表达式的创建 + +\1. 利用构造方法创建 + +\1) var 表达式名称= new RegExp(”表达式”,”修饰符”); + +```js +// var exp1 = new RegExp(/a/); +``` + +\2. 利用字面量的形式创建 + +\1) var 表达式名称= /表达式/修饰符; + +```js +// var exp = /a/; +``` + +### 三、正则表达式的常用方法 + +\1. test + +\1) 作用:就是用来检测字符串是否符合正则表达式 + +\2) 格式:正则表达式.test(字符串); + +\3) 注意:如果匹配返回值为true,否则返回值为false + +```js +// console.log(/a/.test('ba')); +``` + +### 四、正则表达式中常用的构成元素 + +1. *:表示前面字符的个数为0到正无穷 + +2. +:表示前面字符的个数为1到正无穷 + +3. ?:表示前面字符的个数为0到1个 + +4. {n}:表示前面字符的个数为n个 + +5. {n,}:表示前面字符最少为n个,最多为正无穷 + +6. {n,m}:表示前面字符最少n个,最多m个 + +7. \:转义字符,可以将普通字符赋予特定的功能和含义,如\n,也可以将特殊字符转变为普通字符,如\+ + +8. \d:表示所有的数字 + +9. \D:表示所有非数字 + +10. \w:表示所有的字符、数字、下划线 + +11. \W:表示字母、数字、下划线以外的所有字符 + +12. \s:表示所有的空白符 + +13. \S:表示所有的非空白符 + +14. .:表示除了\n之外的任意字符 + +15. [],主要有以下几种形式 + +1. [值1值2值3]:表示字符串中包含值1或值2或值3 + + ```JS + console.log(/[0-9]/.test('1234560789'));简写形式:\d + ``` + +2. [值1-值2]:表示值1到值2间的任意字符,如[1-9]表示1-9间的任意数字 + + ```js + console.log(/[A-Za-z]/.test('assaswASWSS')); 简写形式\w + ``` + +3. [^值1值2值3]:表示字符串中不包含值1值2值3 + + ```js + console.log(/1[^124679]\d{5,9}/.exec('1821231234')); + ``` + +4) [\u4e00-\u9fa5]:表示任意的一个汉字 + +16. |:表示或者的意思,格式值1|值2 +17. ^:表示以某个字符开头,如^a,表示以a开头 +18. $:表示以某个字符结尾,如a$,表示以a作结尾,如果正则表达式中/^a$/,那么表示字符串必须是以a开头,且以a结尾,且个数为1个,如果不写^和$表示包含,如/a/表示字符串中包含a即可 +19. ():表示分组 + +### 五、常用的修饰符 + +\1. i:表示忽略大小写 + +\2. g:表示全局匹配 + +\3. gi:既忽略大小写,也全局匹配 + +### 六、不同模式 + +尽可能地多匹配:贪婪模式 + +```js + // console.log(/1[358]\d{5,9}/.exec('1521231234')); +``` + + //尽可能少匹配:懒惰模式(?) + +```js + // console.log(/1[^124679]\d{5,9}?/.exec('1521231234')); +``` + +[正则表达详解及例题_Hero4399的博客-CSDN博客](https://blog.csdn.net/Hero4399/article/details/76677944) \ No newline at end of file -- Gitee From 70721fcd54a2fd900810051633e3d2cc7b659f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8D=8E=E4=BC=9F?= <1931626338@qq.com> Date: Thu, 17 Nov 2022 12:16:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=AD=A3=E5=88=992?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\346\254\241\344\275\234\344\270\232.html" | 37 +++ ...2\345\222\214\345\274\202\345\270\270 .md" | 225 ++++++++++++++++++ 2 files changed, 262 insertions(+) create mode 100644 "12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-16 \347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232.html" create mode 100644 "12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-16 \346\255\243\345\210\2312\345\222\214\345\274\202\345\270\270 .md" diff --git "a/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-16 \347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232.html" "b/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-16 \347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232.html" new file mode 100644 index 0000000..96b7d7e --- /dev/null +++ "b/12 \351\231\210\345\215\216\344\274\237/\344\275\234\344\270\232/2022-11-16 \347\254\254\345\215\201\345\233\233\346\254\241\344\275\234\344\270\232.html" @@ -0,0 +1,37 @@ + + + + + + + Document + + + + + \ No newline at end of file diff --git "a/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-16 \346\255\243\345\210\2312\345\222\214\345\274\202\345\270\270 .md" "b/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-16 \346\255\243\345\210\2312\345\222\214\345\274\202\345\270\270 .md" new file mode 100644 index 0000000..886bb4f --- /dev/null +++ "b/12 \351\231\210\345\215\216\344\274\237/\347\254\224\350\256\260/2022-11-16 \346\255\243\345\210\2312\345\222\214\345\274\202\345\270\270 .md" @@ -0,0 +1,225 @@ +# 2022-11-16 + +## 正则 + +##### 一、什么是正则表达式:所谓正则表达式也称为规则表达式,作用是用来校验字符串是否符合规则要求,也可以用来检索字符串中是否包含符合要求的子串。 + +### 二、正则表达式的创建 + +\1. 利用构造方法创建 + +\1) var 表达式名称= new RegExp(”表达式”,”修饰符”); + +```js +// var exp1 = new RegExp(/a/); +``` + +\2. 利用字面量的形式创建 + +\1) var 表达式名称= /表达式/修饰符; + +```js +// var exp = /a/; +``` + +### 三、正则表达式的常用方法 + +\1. test + +\1) 作用:就是用来检测字符串是否符合正则表达式 + +\2) 格式:正则表达式.test(字符串); + +\3) 注意:如果匹配返回值为true,否则返回值为false + +```js +// console.log(/a/.test('ba')); +``` + +### 四、正则表达式中常用的构成元素 + +1. *:表示前面字符的个数为0到正无穷 + +2. +:表示前面字符的个数为1到正无穷 + +3. ?:表示前面字符的个数为0到1个 + +4. {n}:表示前面字符的个数为n个 + +5. {n,}:表示前面字符最少为n个,最多为正无穷 + +6. {n,m}:表示前面字符最少n个,最多m个 + +7. \:转义字符,可以将普通字符赋予特定的功能和含义,如\n,也可以将特殊字符转变为普通字符,如\+ + +8. \d:表示所有的数字 + +9. \D:表示所有非数字 + +10. \w:表示所有的字符、数字、下划线 + +11. \W:表示字母、数字、下划线以外的所有字符 + +12. \s:表示所有的空白符 + +13. \S:表示所有的非空白符 + +14. .:表示除了\n之外的任意字符 + +15. [],主要有以下几种形式 + +1. [值1值2值3]:表示字符串中包含值1或值2或值3 + + ```JS + console.log(/[0-9]/.test('1234560789'));简写形式:\d + ``` + +2. [值1-值2]:表示值1到值2间的任意字符,如[1-9]表示1-9间的任意数字 + + ```js + console.log(/[A-Za-z]/.test('assaswASWSS')); 简写形式\w + ``` + +3. [^值1值2值3]:表示字符串中不包含值1值2值3 + + ```js + console.log(/1[^124679]\d{5,9}/.exec('1821231234')); + ``` + +4) [\u4e00-\u9fa5]:表示任意的一个汉字 + +16. |:表示或者的意思,格式值1|值2 +17. ^:表示以某个字符开头,如^a,表示以a开头 +18. $:表示以某个字符结尾,如a$,表示以a作结尾,如果正则表达式中/^a$/,那么表示字符串必须是以a开头,且以a结尾,且个数为1个,如果不写^和$表示包含,如/a/表示字符串中包含a即可 +19. ():表示分组 + +### 五、常用的修饰符 + +\1. i:表示忽略大小写 + +\2. g:表示全局匹配 + +\3. gi:既忽略大小写,也全局匹配 + +### 六、不同模式 + +尽可能地多匹配:贪婪模式 + +```js + // console.log(/1[358]\d{5,9}/.exec('1521231234')); +``` + + //尽可能少匹配:懒惰模式(?) + +```js + // console.log(/1[^124679]\d{5,9}?/.exec('1521231234')); +``` + +## 异常 + +#### 基本的try…catch语句 + +语法: + +```js +try{` +//可能发生异常的代码 +`}catch(error){` +//发生错误执行的代码 +`} +----------------------- + +``` + +#### finally语句 + +在 try…catch 中,try 中一旦出现错误则其他语句不能执行,如果不出现错误则 catch 中的语句不会执行。 + +Javascript 参考其他编程语言,也提供了一种 finally 语句:不管 try 中的语句有没有错误,在最后都会执行 finally 中的语句。 + +即:try 中语句不发生错误执行完毕后会执行 finally 中的语句,try 中的语句发生错误,则执行 catch中的语句,catch 中的语句执行完毕后也会执行 finally 中的语句。 + +语法: + +```js +try{ + //可能发生异常的代码 +}catch(error){ +//发生错误执行的代码 +}finally{ + //不管有没捕获错误,都会执行finally中的代码 +} +------------------------------ + +``` + +#### 示例 + +```js + //1.报错之后的代码中止执行 + // try { + // console.log('1'); + // throw new Error('error 1');//错误 + // console.log('2 '); + // } catch (error) { + // console.log('3'); + // } finally { + // console.log('4'); + // } + // console.log('5'); + //1345 +---------------------------------------- + //2.每次只能捕获一个异常 + try { + console.log('1'); + throw new Error('error 1'); //error + console.log('2 '); + } catch (error) { + console.log('3'); + } finally { + console.log('4'); + console.log('5'); + throw new Error('error 5'); //error + } + console.log('6'); + //1345 错误 + + + try { + console.log('1'); + throw new Error('error 1'); //error + console.log('2 '); + } catch (error) { + console.log('3'); + } finally { + console.log('4'); + try { + throw new Error('error 5 (注释数字无影响)'); //error + } catch (error) { + + } + console.log('5'); + } + console.log('6'); + //13456 +``` + -- Gitee