【活动】分享一下你的正则表达式的使用经历!

fibbery 2011-11-04 11:08:46
加精
在文本处理中,正则表达式的使用是必不可少的,大家分享一下自己在编程过程中的使用经历,也可互相讨论一下,是否有更好的方法!

分享时要写清楚:
1、原始数据内容及格式
2、正则表达式
3、欲匹配的结果


凡参加讨论者均有分!对于没有分享内容的回复,有1分的奖励,嘿嘿!
...全文
3048 87 打赏 收藏 转发到动态 举报
写回复
用AI写文章
87 条回复
切换为时间正序
请发表友善的回复…
发表回复
maitianshouwangzhe 2011-11-15
  • 打赏
  • 举报
回复
正则有一定的规则,不需要死记,没事看看文档,多练多想。
鹏鹏超人 2011-11-14
  • 打赏
  • 举报
回复
就是为了字符统计等相关的操作,java写过正则
gyj_freedom 2011-11-14
  • 打赏
  • 举报
回复
具体的具体用....连匹配url的也没有万能的
gongxiaoteng 2011-11-14
  • 打赏
  • 举报
回复
都是大神啊,学习中
曹瑞cc 2011-11-13
  • 打赏
  • 举报
回复
正则表达式的用途是什么?
z1819673099 2011-11-12
  • 打赏
  • 举报
回复
vs 里不用自己写的,要用直接复制出来呵呵
yml6363 2011-11-12
  • 打赏
  • 举报
回复
取网页彩票开奖号码,效果好.
正则表达式1.创建 (“<td>([\d\s]+)</td>”, 假)
233 2011-11-12
  • 打赏
  • 举报
回复
开发了一版蜘蛛,抓网页上的价格时用到了正则匹配。哈哈。
赵4老师 2011-11-11
  • 打赏
  • 举报
回复
提醒:在字符串扫描问题域中,‘正则表达式’不是万能的;而‘有限状态自动机’是万能的。
luzhen328 2011-11-11
  • 打赏
  • 举报
回复
经常使用。包括前端js表单验证;把excel中的数据转换成sql语句……
wquanchao 2011-11-11
  • 打赏
  • 举报
回复
正则在WEB开发中可解决了不少难题
Eric_Jiang 2011-11-10
  • 打赏
  • 举报
回复
不怎么经常写。
haotw 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 w290601645 的回复:]
用的时候网上找,正则看着有点
[/Quote]

有道理,我也是用的时候在找,从来都记不住的,正则看着有些头晕,还好平时很少用,用的也很简单。
九月 2011-11-10
  • 打赏
  • 举报
回复
主要是替换和校验 不过正则可读性不好 用得不多
TT7380 2011-11-10
  • 打赏
  • 举报
回复
我用的最多还是在网页处理上面
will_pengwq 2011-11-10
  • 打赏
  • 举报
回复
没有用过,准备学一下
pirate1986 2011-11-10
  • 打赏
  • 举报
回复
正则接触很少,已经没有映像了
bonnibell 2011-11-10
  • 打赏
  • 举报
回复
假如有如下的字符,可能是从Powerdesinger生成的报表里拷贝出来的,也可能是设计人员手敲的
Type类型
Phone电话
Address地址

程序里要用到这些信息,希望它是一个Xml文件
形如:<Item Name="" DisplayName="" />
如果就这三行文字也就罢了,但是如果是几十行,你还会一行一行的复制粘贴?
这时候正则的威力就显出来了,如果用Editplus 替换,应用正则
查找: ([a-zA-Z]+)([^\x00-\x80]+)
替换:<Item Name="\1" DisplayName="\2" />

很快
<Item Name="Type" DisplayName="类型" />
<Item Name="Phone" DisplayName="电话" />
<Item Name="Address" DisplayName="地址" />
出来了

又比如从网页上拷贝了一些代码,HTML编辑器的原因,拷贝的代码里包含了行号
形如:
1:using System;
2:using System.Collections.Generic;
3:using System.Linq;
4:using System.Text;
5:using System.Web;

你会一行一行的删除行号然后再放到自己的编辑器里去编译?

如果用Editplus 替换,应用正则
查找:\n[0-9]+:
替换:\n


这是自己用的比较多的正则,呵呵,可能会有更好的解决办法,抛砖引玉吧。
一步一个脚印 2011-11-10
  • 打赏
  • 举报
回复
我的总结,
1,字符串分组匹配,解析某个文件流中的固定规则字符并提取
2,字符串验证,在处理JSON格式时经常会验证规则的结果
3,很喜欢用正则表达式,在编码阶段遇到的一大堆关于字符串解析的问题都可以用正则表达式来搞定,非常简洁,但的确不太容易被别人读懂.

/**
* 解析HTML字符串提取分组数据,格式:<br>
* <div class="className">
* @throws IOException IOException
*/
public void doAnalyseHTML() throws IOException {
String srcStr = doLoadFile();
//String regStr = "(<div\\sclass=\"drag\"[^>]+>[^<>]*(((?open<div[^>]*>)[^<>]*)+((?-open</div>)[^<>]*)+)*(?(open)(?!))</div>)+";
String regStr = "<div\\sclass=\"drag\"[^>]*>(<div[^>]*>(.*)</div>|.)*?</div>";
Matcher matcher = Pattern.compile(regStr, Pattern.DOTALL).matcher(srcStr);
System.out.println("isMatcher:" + matcher.matches() + ":" + matcher.groupCount());
while (matcher.find()) {
int count = matcher.groupCount();
for (int i = 0; i < count; i++) {
System.out.println(i + ":" + matcher.group(i));
}
}
}
噢噢噢噢 2011-11-10
  • 打赏
  • 举报
回复
标准lrc 分:秒.毫秒
加载更多回复(57)

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧