正则表达式

关于正则,常用的一些元字符可以见:百度百科–正则表达式

我在这里仅列举一些容易忘记的概念。

  • | 将两个匹配条件进行逻辑“或”(Or)运算。
  • ^ 匹配输入字符串的开始位置。
  • [a-z] 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
  • [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
  • \ 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配\n。“\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

下面举个例子:

new RegExp("(^| )"+name+"=([^;]*)(;|$)")

上面这个正则中:
(^| ) 匹配开头和空格
[^;] 匹配除了;之外的其它字符
(;|$) 匹配; 和结尾

这个正则是用于cookie中。cookie的保存方式:name=value,有多个cookie时用分号空格隔开:
cookieaa=aaaa; cookiebb=bbbb
如果name值为cookieaa,完整的正则为(^| )cookieaa=([^;]*)(;|$)
匹配结果:cookieaa=aaaa;

上面^出现了两次,分别是不同的意思。
1、匹配开头
2、表示否定
那么到底有什么规律呢?

第一种情况:限定开头

/[(^\s+)(\s+$)]/g
(^cat)$
(^cat$)
^(cat)$
^(cat$)

第二种情况:表示字符类的否定。

[^a]表示“匹配除了a的任意字符”。
[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
[\^abc]表示“找到一个插入符或者a或者b或者c”。
[^\^]表示“找到除了插入符外的任意字符”。(呕!)

总结如下:
只要是”^”这个字符是在中括号”[]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。
我这里说的是直接在”[]”中使用,不包括嵌套使用。
也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值