- 正则表达式直接量:包含在一对/之间。如var pattern = /s$/。匹配以s结尾的字符串。构造函数的方式:var pattern = new RegExp("s$");
- 正则表达式中有特殊含义的标点符号:^ $ . * + ? = ! : | \ / [ ] { }
- JavaScript中如果记不清哪些标点符号要使用反斜杠转义,可在每个表达符号前都使用反斜杠。
- 正则表达式的字符类
字符 匹配 [...] 位于括号内的任意字符 [^...] 不在括号中的任意字符 . 除换行符和其他Unicode行终止符之外的任意字符 \w 任何ASCII单个字符,等价于[a-zA-Z0-9_] \W 任何非ASCII单个字符,等价于[^a-zA-Z0-9_] \s 任何Unicode空白符 \S 任何非Unicode空白符的字符 \d 任何ASCII数字,等价于[0-9] \D 除ASCII数字外的任何字符,等价于[^0-9] [\b] 退格直接量 - 正则表达式的重复字符
字符 含义 {n, m} 匹配n-m次 {n, } 匹配至少n次 {n} 匹配前一项恰好n次 ? 匹配0次或1次,等价于{0, 1} + 匹配一次或多次,等价于{1, } * 匹配0次或多次,等价于{0, } - 选择项从左到右考虑,直到发现匹配项。如果左边的选择项匹配,就忽略右边的匹配项,即使它产生更好的匹配。因此,把模式/a|ab/应用到字符串”ab",它只匹配第一个字符。
- 带括号的子表达式允许我们在同一个正则表达式的后部引用前面的子表达式。通过在字符 \ 后加一位或多位数字实现的。数字指定了带括号的子表达式在正则表达式的位置。子表达式的位置是被计数的左括号的位置。如 /[' "][^ ' "]*[' "]/ 匹配单引号和双引号内的0个或多个字符,但是引号之间不一定匹配,可以使用 /([' "])[^ ' "]*\1/,这样就可以匹配了。
- 正则表达式的选择、分组和引用字符
字符 含义 | 选择。匹配的是该符号左边的子表达式或右边的子表达式 (...) 组合。将几个项目组合为一个单元,这个单元可由*、+?和|等符号使用,而且还能机组和这个组合匹配的字符供以后使用 (?:...) 只组合。将几个项目组合为一个单元,但是不记忆与该组匹配的字符 \n 和第n个分株第一次匹配的字符匹配。组是括号中的子表达式。组号是从左到右计数的左括号数,以(?:形式分组的组不编码 - 正则表达式的锚字符
字符 含义 ^ 匹配字符串的开头,在多行检索中匹配一行的开头 $ 匹配字符串的结尾,在多行检索中匹配一行的结尾 \b 匹配一个词语的边界。就是位于\w和\W间的位置,或位于\w和字符串开头和结尾间的位置 \B 匹配非词语的边界位置 (?=p) 正前向声明,要求接下来的字符都与模式p匹配,但不包括匹配中的那些字符 (?:p) 反前向声明,要求接下来的字符不与模式p匹配 - 正则表达式的标志
/\bjava\b/i 匹配一个不区分大小写的检索以找到单字"java"的第一次出现字符 含义 i 不区分大小写 g 全局匹配 m 多行匹配
/\bjava\b/gi 匹配所有不区分大小写的检索以找到单字"java"
/Java$/im 在多行中匹配不区分大小写的以java结尾的字符串,如"java"和"Java\nis fun" - 在客户端JavaScript中,表示HTML文档的是Document对象,Window对象代表显示该文档的窗口。可以使用document来引用Document,使用self或window来引用Window。Window代表一个浏览器的窗口,应用程序中出现的每个窗口都对应一个Window对象,而且都是客户端JavaScript代码定义了一个唯一的执行环境。换句话说,JavaScript代码在一个窗口中声明的全局变量并不是另一个窗口的全局变量,但另一个窗口中的JavaScript代码却可以存取第一个窗口的全局变量,受到某种安全限制。
JavaScript小笔记(三)
最新推荐文章于 2024-05-03 00:15:24 发布