果然还是要好好学学java的正则表达式,
本例子使用java se 1.4新增的正则表达式 匹配 循环找出用户输入的字符串中可是是网址的子字符串,并且替换为带 a 标签。
private void getRealMsg(Stream ps){
String urlreg = "((http|https)://){0,1}[\\w]+[\\.:][\\w.!@#$%^?=&\\-\\+:*\\d/]+";
pattern = Pattern.compile(urlreg, Pattern.CASE_INSENSITIVE);
String content = ps.getPushcontent();
if(content.trim().length() < 4){
return;
}
content = content.replaceAll("<script", "<script");
content = content.replaceAll("script>", "script>");
Matcher mac = pattern.matcher(content);
ArrayList<String> list = new ArrayList<String>();
ArrayList<String> rlist = new ArrayList<String>();
String src = null;
try {
while(mac.find()){
src = mac.group();
list.add(src);
}
} catch (Exception e) {
Logs.getLog(StreamDao.class).error(e);
return;
}
if(list.size() < 1){
return;
}
for(String s : list){
rlist.add(content.substring(0, content.indexOf(s) + s.length()));
content = content.substring(content.indexOf(s) + s.length(), content.length());
}
int i = 0;
for(String s : list){
if(s.startsWith("http")){
rlist.set(i, rlist.get(i).replace(s, "<a href=\"" + s + "\" target=\"_blank\">" + s + "</a>"));
}else{
rlist.set(i, rlist.get(i).replace(s, "<a href=\"http://" + s + "\" target=\"_blank\">" + s + "</a>"));
}
i++;
}
StringBuilder sb = new StringBuilder();
for(String s : rlist){
sb.append(s);
}
ps.setPushcontent(sb.toString());
}
写正则的必备网址啊,可以在线编辑正则,Flash实现~~~
http://gskinner.com/RegExr/
分享到:
相关推荐
正则表达式不仅仅是一个简单的查找工具,它还能够进行复杂的字符串匹配和替换操作,极大地简化了程序员处理文本的工作。 #### 二、正则表达式的基本元素 正则表达式由普通字符(例如字母、数字和标点符号)和特殊...
查找功能允许用户输入待匹配的文本和正则表达式,然后展示哪些部分被成功匹配。这对于在大量文本中寻找特定模式非常有用,比如在日志文件中查找特定错误信息,或者在代码中查找特定格式的变量或函数。 替换功能则是...
3. **文本替换**:按照指定的规则修改文本内容,例如将所有的URL替换为超链接形式。 4. **数据提取**:从大量文本中抽取所需的信息,例如从日志文件中提取错误代码。 #### 二、正则表达式的构成 正则表达式由一...
- **正则匹配**:使用正则表达式`"/(.*)A\[(.*)\]\](.*)><\/kw>/"`匹配关键字及其权重信息,并通过`PREG_SET_ORDER`选项按顺序存储结果到`$out`数组中。 - **关键字拼接**:通过循环遍历`$out`数组中的每个元素,...
下面是一个使用.NET正则表达式库进行不区分大小写匹配的示例: ```csharp Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); ``` 在上面的C#代码中,`pattern`是正则表达式模式,而`RegexOptions....
本文所提及的函数名为`makeClickableLinks`,它接收一个文本字符串作为参数,然后使用正则表达式查找其中的网址或电子邮件地址,并将它们转换为相应的HTML超链接标签。具体实现原理如下: 1. 对于网址的匹配和转换...
总之,网络爬虫是IT领域中的一种重要技术,PClawer作为一款高级的爬虫工具,结合了正则表达式的强大功能,为用户提供了高效、灵活的网页抓取解决方案。通过学习和使用PClawer,开发者和数据分析师可以获取到大量网络...
正则表达式(Regular Expression,简称regex)是Java编程语言中的一个重要工具,用于处理字符串模式匹配和搜索替换。在Java中,正则表达式通过java.util.regex包中的类和接口来实现,例如Pattern和Matcher。本篇文章...
1、在web.config里配制,这个方法确实可行,但我想很多人不想用这种方法来解决,把整个项目的请求和回应都定为gb2312,我觉得不是一个好办法,有点本末倒置了,毕竟这会导致很多其它问题的出现。 2、把要包含...
如果要指定一个特定的新链接,只需将`#`替换为那个网址即可。完成替换规则的设置后,我们点击“替换全部”按钮,所有匹配到的超链接将会被批量替换为新的链接地址。 需要特别注意的是,使用正则表达式进行批量替换...
- `[abc]`:匹配字符集内的任意一个字符。 - `[^abc]`:匹配不在字符集内的任意字符。 - `*`:重复前面的字符零次或多次。 - `+`:重复前面的字符一次或多次。 - `{n}`:重复前面的字符n次。 - `{n,}`:重复前面的...
然后,使用`string.Format`和`Regex.Replace`方法,动态构建了一个正则表达式,这个正则表达式的模式是通过负向前瞻(negative lookahead)来定义的。这种模式通过`(?!exp)`来指定一个位置,该位置后面不跟随`exp`...
"RenamePro.exe"很可能是一个专门用于批量文件重命名的工具,它能帮助用户快速、高效地完成这项任务。 其次,正则表达式在批量替换中的应用是至关重要的。正则表达式(Regular Expression)是一种模式匹配语言,它...
因此,要批量删除超链接,我们可以使用正则表达式来匹配并替换掉这些特定的模式。 方法一:使用`preg_replace`函数 `preg_replace`函数可以用来执行一个正则表达式的搜索和替换,是PHP中处理字符串替换的常用函数。...
2. **自动链接功能**:在文本中自动检测URL并转换为超链接的功能,通常通过正则表达式实现。开发者需要了解如何使用PHP的preg_match_all()函数来匹配URL模式,并用preg_replace()函数替换匹配到的文本。 3. **...
2. 创建一个正则表达式stringPattern,它使用了条件表达式(?(条件)真值表达式|假值表达式)来决定是否匹配字符串。在这里,我们检查是否是“a”标签,如果是,则不进行任何匹配(即忽略);如果不是,则匹配任何...
4. **正则表达式**:虽然VBA内建的查找功能可能不足以精确地匹配所有底线英文单词,但可以通过引入正则表达式库(如Microsoft VBScript Regular Expressions)来增强匹配能力,确保只选择英文单词而不包括其他文本。...
因此,“BaiduImageSpider-master”提供了一个解决方案,用户只需要修改爬虫代码中的关键词,就可以自动抓取并下载相关图片。 在“BaiduImageSpider-master”项目中,可能包含以下几个主要部分: 1. **请求模块**...
2. **正则表达式**:正则表达式在识别和替换UBB代码时起到关键作用,如匹配特定的UBB标签。 3. **安全防护**:防止XSS跨站脚本攻击,通过过滤和转义用户输入的UBB代码来确保安全性。 4. **缓存机制**:为了提高性能...
在使用`preg_replace()`时,可以定义一个模式(pattern),这个模式描述了你想要匹配的字符串结构,然后将找到的匹配项替换为替换内容(replacement)。通过这种方式,你可以轻松地将页面中的图片链接进行修改或增强...