JavaScript 正则表达式基础学习

前端APP 投稿 58200 0 评论

JavaScript 正则表达式基础学习

什么是正则表达式:

正则表达式描述了字符串的”构成模式“,经常被用于检查字符串是否符合预定的格式要求

创建正则表达式:

  • 使用

  • /^\d{6}$/

  • 的语法形式

  • 使用 new RegExp('^\\d'

  • 使用 typeof 检查正则表达式的类型为 object

元字符:

  • \d     匹配一个数字

  • \D    匹配一个非数字字符

  • \w    匹配一个单字字符(字母、数字、或者下划线)

  • \W   匹配一个非单字字符

  • \s     匹配一个空白字符,包括空格、制表符和换行符 

  • .       任意字符

  • ^      匹配开头

  • $      匹配结尾

注意:使用new RegExp(,反斜杠要多写一个; 例如:/^\d$/ 和 new RegExp('^\\d$'是相同的意思

字符的转义:

在特殊字符之前的反斜杠 \ 表示下一个字符不是特殊字符,应该按照字面理解

/^.$/      检查字符串是不是任意字符

/^\.$/     检查字符串是不是一个点

/^\\$\     检查字符串是不是一个反斜杠

正则表达式”按位“描述规则:

”按位“描述规则,是指它是一位一位的描述字符串的构成形式

例如检查字符串:以字母m开头,然后是3个数字,最后以字母n结尾   /^m\d\d\dn$/  或者  /^m\d{3}n$/

方括号表示法:

使用方括号,例如[xyz]:可以创建一个字符集合,表示匹配方括号中的任意字符

某学校的学号规定:第一位是一个字母,b为本科生,y为研究生,后面7位数字   /^[by]\d{7}$/

可以使用 - 来表示一个字符范围,^表示否定

  • \d           [0-9 ]               数字

  • \D          [^0-9]             非数字 

  • \w     [A-Za-z0-9_]     单字字符

  • \W    [^A-Za-z0-9_]   非单字字符

量词:

  • *          匹配前面一个表达式0次或者多次,等价于{0,}

  • +         匹配前面一个表达式1次或者多次,等价于{1,}

  • ?         匹配前面一个表达式0次或者1次,等价于{0,1}

  • {n}       n是一个正整数,匹配前面一个字符刚好出现n次

  • {n,}      n是一个正整数,匹配前一个字符至少n次

  • {n,m}   n和m都是整数,匹配前面的字符至少n次,最多m次

正则表达式的相关方法:

test(: 测试某字符串是否匹配正则表达式,返回布尔值

exec(: 根据正则表达式,在字符串中进行查找,返回结果数组或者null

字符串中可以使用正则表达式的方法:

search(: 在字符串中根据正则表达式进行查找匹配,返回首次匹配到的位置索引,测试不到则返回-1

match(: 在字符串中根据正则表达式进行查找匹配,返回一个数组,找不到则返回null

replace(: 使用替换字符串替换掉匹配到的子字符串,可以使用正则表达式

split(: 分隔字符串为数组

修饰符:

i:不区分大小写搜索

g:全局搜索

var re = /m/gi

var re = new RegExp('m','gi';

编程笔记 » JavaScript 正则表达式基础学习

赞同 (143) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽