正则表达式

47 篇文章 2 订阅

用法一: 限定开头

文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。    比如 /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A

用法二:(否)取反

当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。
比如: /[^a-z\s]/会匹配"my 3 sisters"中的"3"  这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。 

表示否定的示例:

  1. [^a]表示“匹配除了a的任意字符”
  2. [^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
  3. [^abc]表示“找到一个插入符或者a或者b或者c”。

经过对比,只要是”^”这个字符是在中括号”[]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在”[]”中使用,不包括嵌套使用。

其实也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。

()括号是分组用,在这个表达式里没有作用

[^"]意思是不包含"这个字符

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<script>
var str = "http://www.runoob.com:80/html/html-tutorial.html";
var patt1 = /(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
arr = str.match(patt1);
for (var i = 0; i < arr.length ; i++) {
    document.write(arr[i]);
	document.write("<br>");
}
</script>

</body>
</html>

输出

http://www.runoob.com:80/html/html-tutorial.html
http
www.runoob.com
:80
/html/html-tutorial.html

[\s]表示,只要出现空白就匹配
[\S]表示,非空白就匹配
[\s\S]任意字符
[\s\S]* 0个到任意多个字符
[\s\S]*? 0个字符,匹配任何字符前的位置。

使用方括号 [ ] 包含一系列字符能够匹配其中任意一个字符。用 [^ ] 包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。

表达式 可匹配

[ab5@]  匹配 "a" 或 "b" 或 "5" 或 "@"

[^abc]  匹配 "a","b","c" 之外的任意一个字符

[f-k]  匹配 "f"~"k" 之间的任意一个字母

[^A-F0-3]  匹配 "A"~"F","0"~"3" 之外的任意一个字符

1.([^\[\<]+?) 不能有<;

2.([^\["\']+?) 不能有单引双引号。
([^"]+)
()括号是分组用,在这个表达式里没有作用
[^"]意思是不包含"这个字符
+意思是至少一个或多个
总体意思:不包含"的任意字符,字符个数不限,但至少一个字符
最前面的/和最后面的/表示正则表达式的开始和结束,没实际意义,所以正则表达式为^[^\?]+\??
第一个^表示匹配文本的开头,[]表示匹配满足内部条件的字符,[]里面的^\?表示除了?以外的任意字符,[]后面的+表示匹配的次数为1次或大于1次,一直到?才匹配结束,\?表示?字符,最后一个?表示匹配一次或0次

在这里插入图片描述

在这里插入图片描述

正则表达式的() [] {} 有着不同的意思。
正则表达式中^的用法
正则表达式 - 简介
正则表达式-- (?:pattern)与(?=pattern)的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟伟哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值