学习笔记|day03~正则表达式

正则表达式 检测是否存在 .test() 方法

let testStr = "freeCodeCamp"; let testRegex = /Code/; testRegex.test(testStr);

匹配时忽略大小写 实例:
/ignorecase/i 这个字符串可以匹配字符串 ignorecase、igNoreCase 和 IgnoreCase。

提取匹配项 使用 .match() 方法来提取找到的实际匹配项。
"Hello, World!".match(/Hello/); let ourStr = "Regular expressions"; let ourRegex = /expressions/; ourStr.match(ourRegex);

【学习笔记|day03~正则表达式】这里第一个 match 将返回 [“Hello”] 第二个将返回 [“expressions”]。
全局匹配 若要多次搜寻或提取模式匹配,可以使用 g 标志。
let repeatRegex = /Repeat/g; testStr.match(repeatRegex);

这里 match 返回值 [“Repeat”, “Repeat”, “Repeat”]
注意: 在正则表达式上可以有多个标志,比如 /search/gi

用通配符匹配任何内容 有时不(或不需要)知道匹配模式中的确切字符。 如果要精确匹配到完整的单词,那出现一个拼写错误就会匹配不到。 幸运的是,可以使用通配符 . 来处理这种情况。
通配符 . 将匹配任何一个字符。 通配符也叫 dot 或 period。 可以像使用正则表达式中任何其他字符一样使用通配符。 例如,如果想匹配 hug、huh、hut 和 hum,可以使用正则表达式 /hu./ 匹配以上四个单词。
let humStr = "I'll hum a song"; let hugStr = "Bear hug"; let huRegex = /hu./; huRegex.test(humStr); huRegex.test(hugStr);

上面的 test 都会返回 true。
将单个字符与多种可能性匹配 可以把字符集放在方括号([ 和 ])之间来定义一组需要匹配的字符串。
例如,如果想要匹配 bag、big 和 bug,但是不想匹配 bog。 可以创建正则表达式 /b[aiu]g/ 来执行此操作。 [aiu] 是只匹配字符 a、i 或者 u 的字符集。(因比较简答,故不用代码演示。)
匹配字母表中的字母 在字符集中,可以使用连字符(-)来定义要匹配的字符范围。
例如,要匹配小写字母 a 到 e,你可以使用 [a-e]。

匹配单个未指定的字符
例如,/[^aeiou]/gi 匹配所有非元音字符。 注意,字符 .、!、[、@、/ 和空白字符等也会被匹配,该否定字符集仅排除元音字符。

匹配出现一次或多次的字符 例如,/a+/g 会在 abc 中匹配到一个匹配项,并且返回 [“a”]。 因为 + 的存在,它也会在 aabc 中匹配到一个匹配项,然后返回 [“aa”]。
如果它是检查字符串 abab,它将匹配到两个匹配项并且返回[“a”, “a”],因为a字符不连续,在它们之间有一个b字符。 最后,因为在字符串 bcd 中没有 a,因此找不到匹配项。
匹配出现零次或多次的字符 还有一个选项可以匹配出现零次或多次的字符。执行该操作的字符叫做星号,即*。
也可用在字符串的开头。
let soccerWord = "gooooooooal!"; let gPhrase = "gut feeling"; let oPhrase = "over the moon"; let goRegex = /go*/; soccerWord.match(goRegex); gPhrase.match(goRegex); oPhrase.match(goRegex);

按顺序排列,三次 match 调用将返回值 [“goooooooo”],[“g”] 和 null。
匹配字符串的末尾 可以使用正则表达式的美元符号 $ 来搜寻字符串的结尾。
匹配除了字母和数字的所有符号 已经了解到可以使用缩写 \w 来匹配字母和数字 [A-Za-z0-9_]。 不过,有可能想要搜寻的匹配模式是非字母数字字符。
可以使用 \W 搜寻和 \w 相反的匹配模式。 注意,相反匹配模式使用大写字母。 此缩写与 [^A-Za-z0-9_] 是一样的。
匹配所有数字 查找数字字符的缩写是 \d,注意是小写的 d。 这等同于元字符 [0-9],它查找 0 到 9 之间任意数字的单个字符。
匹配所有非数字 查找非数字字符的缩写是 \D。 这等同于字符串 [^0-9],它查找不是 0 - 9 之间数字的单个字符。

    推荐阅读