文档章节

js--正则表达式实际应用

求是科技
 求是科技
发布于 2016/11/10 14:32
字数 488
阅读 14
收藏 0

需求:有如下字符串

"<p style='text-align: center;'><img title='2' border=0 style='max-width:600px;' zcmsimagerela='207904' src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_ed3d845c1dc5403084f6ac28eac55c2e.png' alt='2' /></p>;<p style='text-align: center;'><a alt='点击查看大图' href='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/02c0cc21cd294e8688a9241432429871.png' target='_blank' ><img title='1' border=0 style='max-width:600px;' zcmsimagerela='207903' src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_02c0cc21cd294e8688a9241432429871.png' alt='1' /></a></p>"

匹配出该字符串中src=后面的全路径。
测试如下

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
	
	var tmp = "<p style='text-align: center;'><img title='2' border=0 style='max-width:600px;' zcmsimagerela='207904' src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_ed3d845c1dc5403084f6ac28eac55c2e.png' alt='2' /></p>;<p style='text-align: center;'><a alt='点击查看大图' href='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/02c0cc21cd294e8688a9241432429871.png' target='_blank' ><img title='1' border=0 style='max-width:600px;' zcmsimagerela='207903' src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_02c0cc21cd294e8688a9241432429871.png' alt='1' /></a></p>";
	<!--匹配出src后面全路径-->
	var objectArr0 = tmp.match(/src=\'[^\']+/g);
	<!--匹配出所有的http请求-->
	var objectArr1 = tmp.match(/http:[^\']+/g);
	<!--匹配所有的IP地址-->
	var objectArr2 = tmp.match(/http:\/\/[^\/]+/g);
	<!--匹配出zcmsimagerela后面的数字->
	var objectArr3 = tmp.match(/zcmsimagerela=\'[^\']+/g);
	<!--匹配出所有6位连续纯数字-->
	var objectArr4 = tmp.match(/\d{6}/g);
</script>
<body>
	
</body>
</html>

得出结果如下
objectArr0值

["src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_ed3d845c1dc5403084f6ac28eac55c2e.png", "src='http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_02c0cc21cd294e8688a9241432429871.png"]

objectArr1值

["http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_ed3d845c1dc5403084f6ac28eac55c2e.png", "http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/02c0cc21cd294e8688a9241432429871.png", "http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_02c0cc21cd294e8688a9241432429871.png"]

objectArr2值

["http://192.201.68.182:81", "http://192.201.68.182:81", "http://192.201.68.182:81"]

objectArr3值

["zcmsimagerela='207904", "zcmsimagerela='207903"]

objectArr4值

["207904", "540308", "924143", "242987", "207903", "924143", "242987"]

其实完整的需求应该是
匹配出src=后面的http地址,得到的结果应该是

["http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_ed3d845c1dc5403084f6ac28eac55c2e.png", "http://192.201.68.182:81/hxyxw//upload/Image/mrtp/2016/11/08/1_02c0cc21cd294e8688a9241432429871.png"]

我一次性虑不出来,只能滤出带上src=的字符串。
望见此贴者提出宝贵的意见。

© 著作权归作者所有

求是科技

求是科技

粉丝 98
博文 451
码字总数 232301
作品 0
成都
后端工程师
私信 提问
简单说 正则表达式——要注意lastIndex属性

说明 这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。 解释 每个RegExp对象都包含5个属性,source、global、ignoreCase、multiline、lastIndex。 source:是一个只读的字符串,包含...

FEWY
2017/07/10
0
0
Javascript中的正则表达式

正则表达式提供了强大的字符串检索和操作的能力,这些能力在Javascript中有着比其他语言更广泛的应用。对于运行于浏览器环境中的Javascript,HTML文档的DOM操作和样式操作是其主要任务之一,...

con
2014/04/30
0
1
学习Javascript的8张思维导图

分别归类为:  javascript变量  javascript运算符  javascript数组  javascript流程语句  javascript字符串函数  javascript函数基础  javascript基础DOM操作  javascript正则表达式...

thinkyoung
2014/09/23
0
0
8个实用的 JavaScript 测试及效验工具

JavaScript 是一款强大的广泛运用于现代Web站点及应用的脚本语言。作为一个技艺精湛的 Web 开发者,掌握JavaScript可以增强用户的使用体验,提供交互及富客户端等功能。 尽管JavaScript的语法...

小编辑
2010/04/15
4.1K
0
js中replace()方法使用注意

1.如果正则表达式中设置了修饰符g,那么源字符串中所有与模式匹配的子串都将替换成第二个参数指定的字符串;如果不带修饰符g,则只替换所有匹配的第一个子串。 2.replace()的第一个参数若是字...

依风听雨
2014/07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rocketmq之源码分析阶段总结(二十一)

RocketMQ是队列模型的消息中间件,具有高性能,高可靠,高实时,分布式的特点。同时支持分布式事物的两阶段提交,实现在分布式环境的事物操作。 1,nameserv是分布式的部署,并且相互之间不通...

wangshuaixin
20分钟前
2
0
小猿圈linux之在mac上安装 docker

docker极大提高了应用的运行效率,降低了云计算资源供应的成本,同时让应用的部署、测试和分发都变得前所未有的高效和轻松!docker是一个容器,不像kvm,他是真实的系统,启动时,KVM消耗的资...

小猿圈加加
25分钟前
1
0
spring aop 代理private方法 报错的问题分析

spring aop 代理private方法报空指针的问题 这两天做aop切面日志时,发现private方法报空指针。 原切入点配置如下: @Pointcut("@within(org.springframework.web.bind.annotation.RestC...

my_juke
30分钟前
2
0
c 基础教程六:c 循环结构

有的时候,我们可能需要多次执行同一块代码,c 语言提供了如下几种循环,各有特色。 while 循环 for 循环 do-while 循环 while 循环 只要给定的条件为真,C 语言中的 while 循环语句会重复执...

故城以南丶思念不安
49分钟前
4
0
spark 常见操作

为spark DataFrom 添加一个为 空的新列,使用UDF函数 想产生一个IntegerType类型列为null的DataFrame该怎么做。 import org.apache.spark.sql.functions._import org.apache.spark.sql.type...

蜉先生
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部