正则表达式

                                       正则表达式

开发工具与关键技术:Visual Studio 2015
作者:昨夜星辰
撰写时间:2019年06月08日
一、正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式 通常被用来检索、替换那些符合某个模式(规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作(但是写 法和支持程度上有所不同)。
概念:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一 个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
作用:正则表达式主要用来验证、搜索和替换。
在这里插入图片描述
二、 RegExp对象表示的是正则表达式,它是对字符串执行模式匹配的强大工具,
三、创建一个新的regexp语法
在这里插入图片描述
四、new RegExp(pattern, attributes);参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式。参数 attributes 是一个可选的字符串,包含属性 “g”、“i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。g: 表示全局(global)模式,表示pattern会应用于所有字符串,而不是找到一个匹配项后立即停止。 i :表示不区分大小写(ignore)模式。忽略pattern和字符串的大小写。
四(1)、JavaScript中支持的三个标签(flags):
1、g: 表示全局(global)模式,表示pattern会应用于所有字符串,而不是找到一个匹配项后立即停止。2、i :表示不区分大小写(ignore)模式。即忽略pattern和字符串的大小写。
3、m:表示多行(multiple)模式。 即到一行文本末尾时还会继续查找下一行中是否存在匹配的项。
五、返回值:一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
六、下面就是使用正则表达式查询的一些数据,比如我要查询style后面的数据,首先通过style这个字段来作为开头,然后用(.)代表匹配除换行符意外的任意字符,(+)代表重复一次或更多次,等价于(1)(?)代表重复零次或一次,等价于 (0,1),括号里面的内容就是获取在style=标签后面的全部信息,然后双引号就是到style标签后面的第一个双引号结束。这就是一个简单的正则表达式获取数据的流程。
在这里插入图片描述
七、来自老师上课教程的例子:
正则表达式的一些字符基础意思

1、(.)匹配除换行符以外的任意字符,
2、(\w)匹配字母或数字、下划线。等价于’[A­Za­z0­9_]’,
3、(\s )匹配任意的空白符,包括空格、制表符、换页符等等。等价于 [\f\n\r\t\v]
4、(\d )匹配数字,等价于[0­9],
5、(\b )匹配单词的开始或结束,
6、(x¦y )匹配 x 或 y,
7、([xyz]) 字符集合,匹配所包含的任意一个字符,
8、([a­z] )字符范围。匹配指定范围内的任意字符。
9、(^) 匹配字符串的开始,10、($)匹配字符串的结束,
11、() 重复零次或更多次,等价于{0,}
12、(+)重复一次或更多次,等价于{1,},
13、(?) 重复零次或一次,等价于 {0,1},
14、({n})重复n次15、({n,}) 重复n次或更多次,
16、({n,m})重复n到m次,
17、(
?) 重复任意次,但尽可能少重复,
18、(+? )重复1次或更多次,但尽可能少重复,
19、(??) 重复0次或1次,但尽可能少重复,
20、({n,m}? )重复n到m次,但尽可能少重复,
21、({n,}? )重复n次以上,但尽可能少重复
22、(exp) 匹配exp,并捕获文本到自动命名的组里,
23、(?:exp) 匹配exp,不捕获匹配的文本
24、(?exp) 匹配exp,并捕获文本到名称为name的组里,
25、(?=exp) 匹配exp前面的位置,
26、(?<=exp) 匹配exp后面的位置,
27、(?!exp) 匹配后面跟的不是exp的位置,
28、(?<!exp) 匹配前面不是exp的位置
八、一些正则在项目中的运用方法,比如图片中的提取所有的p标签,\w\W基本选择了所有的字符,\r表示回车:光标回到行首,不换行:\n表示换行:光标下移一行,不回行首,\r\n一般组合使用,首先获取需要修改的标签,然后把需要改换的类型放进去,在应用基本的代码修改获取。
在这里插入图片描述
九、一些正则获取数据的方法,是获取需要修改的内容信息,然后实例化regex,通过onload后面(.匹配所有除换行符以外的字符串),然后通过贪婪字符获取src的内容,IsMatch:指定的正则表达式在指定输入字符串中是否找到了匹配项,如果正则表达式找到匹配项,则为true,否则为false。Match:指定的正则表达式的第一个匹配项,返回一个包含有关匹配的信息的对象,Value:返回结构通过匹配捕获的字符串,MatchCollection表示通过一替代方式将正则表达式模式,应用于输入字符串所找到的成功匹配的集合,然后通过循环获取每一个匹配对象。第二种写法:直接获取需要获取的内容标签,然后通过循环匹配每一个对象,然后通过Replace:替换与指定正则表达式的所有字符串。
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值