正则表达式

80 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天,点击查看活动详情

相关正则方法

  • 字符串的方法:
    • split():根据匹配字符串切割父字符串
    • match():使用正则表达式与字符串相比较,返回一个包含匹配结果的数组
    • search():对正则表达式或指定字符串进行搜索,返回第一个出现的匹配项的下标
    • replace():用正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串
  • 正则表达式方法:
    • exec():在目标字符串中执行一次正则匹配操作
    • test():测试当前正则是否能匹配目标字符串
  • String:split
    • 根据匹配字符串切割父字符串
    • eg:根据空格切割字符串:‘aa bb c dd eee’.split(/\s+/) =>(输出) [“aa”,“bb”,“c”,“dd”,“eee”] image.png +号的意思是多个相同的字符
  • String: search
    • 寻找匹配字符串在父字符串中的位置
    • eg: 在'abcdefg'中寻找'cd'的位置:'abcdefg'.search(/cd/) =>(输出) 2
  • String: match
    • 在父字符串中寻找匹配字符串
    • eg:在'abbcccbbbbbddbbbdabbb'中查询重复'b'字符串:'abbcccbbbbbddbbbdabbb'.match(/b+/g) =>(输出)["bb", "bbbbb", "bbb", "bbb"] 最后的g指的是全局修饰符,进行全局查找,不会在找到第一个停下来 image.png
  • String: replace
  • RegExp: exec
    • 在字符串中寻找匹配字符串,该方法比其他正则方法或字符串方法支持的更复杂
    • eg:在'aaaabccccbacabc'中查找'abc'字符串: var result = /abc/.exec('aaaabccccbacabc'); result => ["abc"]; result.index => 3
  • RegExp: test
    • 检测字符串是否匹配正则表达式
    • eg:判断'aaddccddabcddeeddfff'是否包含'abc'字符串:/abc/.test('aaddccddabcddeeddfff') => true