JS学习之正则表达式的使用

正则表达式的语法

正则表达式是一种特殊的字符串模式,用于匹配一组字符串

  1. abc+d:匹配+前一个字符一次或n次,(0/1)。如:abcd、abccd;
  2. abcd:匹配前一个字符零次、一次或n次,(0/1/n)。如abd、abcd、abccd;
  3. abc?d:匹配?前一个字符零次或一次(0/1)。如abd、abcd。

正则表达式符号介绍

  1. 元字符介绍
    " ^ “:^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。
    " $ “:KaTeX parse error: Undefined control sequence: \b at position 14: 会匹配行或字符串的结尾 "\̲b̲" : \b匹配一个位置,…
    “\w”: 匹配字母,数字,下划线,但不能匹配空格。
    “\s” : 匹配空格
    “.” : 匹配除了换行符以外的任何字符 ,这个算是”\w"的加强版了,”\w"不能匹配空格
    例如他能匹配 "hd _ds12 d c"字符串。
    “[abc]” : 字符组 匹配包含括号内元素的字符,例如:[a-z];

  2. 几种反义
    写法很简单改成大写就行了,意思与原来的相反,这里就不举例子了
    “\W” 匹配任意不是字母,数字,下划线 的字符
    “\S” 匹配任意不是空白符的字符
     “\D” 匹配任意非数字的字符
    “\B” 匹配不是单词开头或结束的位置
    " [ ^abc] " 匹配除了abc以外的任意字符

  3. 量词
    “*” : 重复零次或更多
    “+” : 重复一次或更多次
    “?” : 重复零次或一次
    “{n}” : 重复n次
    “{n,m}”:重复n到m次
    “{n,}” :重复n次或更多次,与{n,m}不同之处就在于匹配的次数将至少要重复n次没有上限,如"a{3,}"
    a 至少要重复3次

  4. 限定符
    “*?” 重复任意次,但尽可能少重复
    “+?” 重复1次或更多次,但尽可能少重复
    “??” 重复0次或1次,但尽可能少重复
    “{n,m}?” 重复n到m次,但尽可能少重复
    “{n,}?” 重复n次以上,但尽可能少重复

正则进阶----捕获分组

“(exp)” 匹配exp,并捕获文本到自动命名的组里
“(?exp)” 匹配exp,并捕获文本到名称为name的组里
“(?:exp)” 匹配exp,不捕获匹配的文本,也不给此分组分配组号
“(?=exp)” 匹配exp前面的位置
“(?<=exp)” 匹配exp后面的位置
“(?!exp)” 匹配后面跟的不是exp的位置
  如 “123abc” 正则 "\d{3}(?!\d)“匹配3位数字后非数字的结果
“(?<!exp)” 匹配前面不是exp的位置
  如 “abc123 " 正则 “(?<![0-9])123” 匹配"123"前面是非数字的结果也可写成”(?!<\d)123”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值