微信怎么注册小号用亲心小号注册

正则表达式正确取得img标签 - 推酷
正则表达式正确取得img标签
文章内容中包含有&img&标签内容,但有时候不需要显示图片,只需要显示内容,需要将内容中的图片替换掉,这个正则表达式,我可花了些时间,百度了一下,没有合适的,就自己费时间写了,
还可以用吧。& 这里是java的,但正则表达式应该是一样的吧。
String content=&&img src=\&http://192.168.1.162/upload/pu_68.jpg\& alt=\&\& /&象个洋娃娃吗33333&img src=\&http://192.168.1.152/upload/33288.jpg\& alt=\&\& /&888rrrrrr&;
&&&&& String regex=&&img\\s*([\\w]+=(\&|\')([^\&\']*)(\&|\')\\s*)*/&&;//这样更简单
&&& &&& String regex=&&img\\s*src=(\&|\')([^\&\']+)(\&|\')\\s*([\\w]+=(\&|\')([^\&\']*)(\&|\')\\s*)*/&&;
&&& &&& Pattern p = pile(&&img\\s*src=(\&|\')([^\&\']+)(\&|\')\\s*([\\w]+=(\&|\')([^\&\']*)(\&|\')\\s*)*/&&);
&&& &&& Matcher m = p.matcher(content);
&&& &&& &String replace=
&&& &&& &content= content.replaceAll(regex, &&某图片&&);
&&& &&& /*while (m.find()) {
&&& &&& &&&&& replace = content.substring(m.start(),m.end());
&&& &&& &&&&& content = content.replaceFirst(replace,&&);
&&& &&& && }& */
&&& &&& //这个循环这么替换会出错,因为替换了之后,字符串变了,但m中是原索引,所以第一次匹配的正常,//第二次匹配的开始出错,如果谁有这个需要,可以自己想办法。好办法也可以在这下面贴出来,大家一起用//哈
&&& &&& System.out.println(content);
//&img\\s*([\\w]+=(\&|\')([^\&\']*)(\&|\')\\s*)*/&
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致使用java正则表达式获取url地址 -
- ITeye技术网站
import java.util.regex.M
import java.util.regex.P
public class GetUrl {
//使用java正则表达式获取url地址中的主域名代码如下:
* 如果要得到 /entry/4545/0/正则表达式最后加上 .* 即可.
*如要取完整域名,使用以下代码:
*pile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);
public static void main(String[] args) {
String url = "http://anotherbug./entry/4545/0/";
//Pattern p = pile("(?&=http://|\\.)[^.]*?\\.(com|cn|net|org|biz|info|cc|tv)",Pattern.CASE_INSENSITIVE);
//获取完整的域名
Pattern p =pile("[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(url);
matcher.find();
System.out.println(matcher.group());
zhangweioak
浏览: 33147 次
来自: 上海
这个正则并不能准确提取出主域名 像http://cn0917. ...
&(?&=http\\://)(?:[^.\\ ...
这是用jsp 写的么
多级域名获取二级域名,同问
你好,如果你的url换成 ...C#正则表达式通过HTML提取网页中的图片src_C#应用_
C#正则表达式通过HTML提取网页中的图片src
来源:人气:907
目前在做HoverTreeCMS项目中有处理图片的部分,参考了一下网上案例,自己写了一个获取内容中的图片地址的方法。可以先看看效果:/a/zz/img/
&一般来说一个 HTML 文档有很多标签,比如&&html&&、&&body&&、&&table&&等,想把文档中的 img 标签提取出来并不是一件容易的事。由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易。于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签。我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式。首先要想一下 img 标签有几种写法,忽略大小写不看的话,下面列出 img 标签可能出现的几种情况。&img& &img/& &img src=/&&这一些标签不用考虑,因为没有图片资源地址。&&img src = /images/pic.jpg/ & &img src =" /images/pic.jpg" & &img src= '/images/pic.jpg ' / &这一些标签都有图片资源地址,另外还有一个特点就是有引号对,可能为单引号,也可能为双引号。因为不需要同时匹配引号对,所以正则表达式可以这么写:@"&img\s*src\s*=\s*[""']?\s*(?[^\s""'&&]*)\s*/?\s*&"&img width="320" height="240" src=/images/pic.jpg onclick="window.open('/images/pic.jpg')"&因为 img 和 src 之间可能会有其他的参数,所以&&img&要有个单词结束,比如说不能是&&imgabc&,同样 src 前面也是一样,使用单词结束符&\b&有一个好处就是省去了表示空格的&\s*&。另外由于 img 标签中不可以出现&&&、&&&这样的符号,所以要改写前面的正则表达式:@"&img\b[^&&]*?\bsrc\s*=\s*[""']?\s*(?&imgUrl&[^\s""'&&]*)[^&&]*?/?\s*&"&img width="320" height="240" src = "&/images/pic.jpg" /&&像这种可能会用回车符折行的问题有时候会出现,所以在有空格分开的地方要包含回车换行和 TAB 字符,另外在图片地址中不能出现空格、TAB、回车和换行字符。所以上面的正则表达式可以改成:@"&img\b[^&&]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?&imgUrl&[^\s\t\r\n""'&&]*)[^&&]*?/?[\s\t\r\n]*&"
下面写出取得HTML中所有图片地址的类HvtHtmlImage:
1 using System.Text.RegularE
3 namespace HoverTree.HoverTreeFrame.HvtImage
5 public class HvtHtmlImage
7 //效果 /a/zz/img/
8 /// &summary&
9 /// 取得HTML中所有图片的 URL。
10 /// &/summary&
11 /// &param name="sHtmlText"&HTML代码&/param&
12 /// &returns&图片的URL列表&/returns&
13 public static string[] GetHvtImgUrls(string sHtmlText)
15 // 定义正则表达式用来匹配 img 标签
16 Regex m_hvtRegImg = new Regex(@"&img\b[^&&]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?&imgUrl&[^\s\t\r\n""'&&]*)[^&&]*?/?[\s\t\r\n]*&", RegexOptions.IgnoreCase);
17 //参考:/hvtart/bjae/e4pya1x0.htm
20 // 搜索匹配的字符串
21 MatchCollection matches = m_hvtRegImg.Matches(sHtmlText);
22 int m_i = 0;
23 string[] sUrlList = new string[matches.Count];
25 // 取得匹配项列表
26 foreach (Match match in matches)
27 sUrlList[m_i++] = match.Groups["imgUrl"].V
28 return sUrlL
更多:/hvtart/bjae/r42fdvjj.htm
.net开源CMS&/sosoft/p/cms.html
开发技术文章收集&/sosoft/p/kaifajishu.html
优质网站模板高手指点,正则表达式如何匹配所有后缀名为.jpg格式的图片,包括jpg、jPg、jpG、JPG、JpG、Jpg等格式-Java/Java相关-java-电脑编程网高手指点,正则表达式如何匹配所有后缀名为.jpg格式的图片,包括jpg、jPg、jpG、JPG、JpG、Jpg等格式-Java/Java相关作者:lovebenxiaohai 和相关&&高手指点,如何匹配所有后缀名为.jpg格式的图片,包括jpg、jPg、jpG、JPG、JpG、Jpg等格式------回答---------------其他回答(20分)---------
System.out.println(&abc.jpg&.matches(&.*\\.(?i)jpg&));System.out.println(&abc.JPG&.matches(&.*\\.(?i)jpg&));System.out.println(&abc.jpG&.matches(&.*\\.(?i)jpg&));
相关资料:|||||||高手指点,正则表达式如何匹配所有后缀名为.jpg格式的图片,包括jpg、jPg、jpG、JPG、JpG、Jpg等格式-Java/Java相关来源网络,如有侵权请告知,即处理!编程Tags:                &                    2904人阅读
android学习(35)
java学习(2)
利用java抓取网页上的所有图片:
用两个正则表达式:
1、匹配html中img标签的正则:&img.*src=(.*?)[^&]*?&
2、匹配img标签中得src中http路径的正则:http:\&?(.*?)(\&|&|\\s+)
package org.swinglife.
import java.io.F
import java.io.FileOutputS
import java.io.InputS
import java.net.URL;
import java.net.URLC
import java.util.ArrayL
import java.util.L
import java.util.regex.M
import java.util.regex.P
* java抓取网络图片
* @author swinglife
public class CatchImage {
private static final String URL = &http://www.csdn.net&;
private static final String ECODING = &UTF-8&;
// 获取img标签正则
private static final String IMGURL_REG = &&img.*src=(.*?)[^&]*?&&;
// 获取src路径的正则
private static final String IMGSRC_REG = &http:\&?(.*?)(\&|&|\\s+)&;
public static void main(String[] args) throws Exception {
CatchImage cm = new CatchImage();
//获得html文本内容
String HTML = cm.getHTML(URL);
//获取图片标签
List&String& imgUrl = cm.getImageUrl(HTML);
//获取图片src地址
List&String& imgSrc = cm.getImageSrc(imgUrl);
//下载图片
cm.Download(imgSrc);
* 获取HTML内容
* @param url
* @throws Exception
private String getHTML(String url) throws Exception {
URL uri = new URL(url);
URLConnection connection = uri.openConnection();
InputStream in = connection.getInputStream();
byte[] buf = new byte[1024];
int length = 0;
StringBuffer sb = new StringBuffer();
while ((length = in.read(buf, 0, buf.length)) & 0) {
sb.append(new String(buf, ECODING));
in.close();
return sb.toString();
* 获取ImageUrl地址
* @param HTML
private List&String& getImageUrl(String HTML) {
Matcher matcher = pile(IMGURL_REG).matcher(HTML);
List&String& listImgUrl = new ArrayList&String&();
while (matcher.find()) {
listImgUrl.add(matcher.group());
return listImgU
* 获取ImageSrc地址
* @param listImageUrl
private List&String& getImageSrc(List&String& listImageUrl) {
List&String& listImgSrc = new ArrayList&String&();
for (String image : listImageUrl) {
Matcher matcher = pile(IMGSRC_REG).matcher(image);
while (matcher.find()) {
listImgSrc.add(matcher.group().substring(0, matcher.group().length() - 1));
return listImgS
* 下载图片
* @param listImgSrc
private void Download(List&String& listImgSrc) {
for (String url : listImgSrc) {
String imageName = url.substring(url.lastIndexOf(&/&) + 1, url.length());
URL uri = new URL(url);
InputStream in = uri.openStream();
FileOutputStream fo = new FileOutputStream(new File(imageName));
byte[] buf = new byte[1024];
int length = 0;
System.out.println(&开始下载:& + url);
while ((length = in.read(buf, 0, buf.length)) != -1) {
fo.write(buf, 0, length);
in.close();
fo.close();
System.out.println(imageName + &下载完成&);
} catch (Exception e) {
System.out.println(&下载失败&);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:111162次
积分:1433
积分:1433
排名:千里之外
原创:33篇
转载:37篇
评论:44条
(2)(1)(2)(1)(2)(1)(2)(2)(1)(2)(1)(1)(3)(1)(1)(1)(2)(1)(1)(1)(8)(1)(3)(14)(1)(14)}

我要回帖

更多关于 微信怎么注册小号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信