日期:2014-05-17  浏览次数:21008 次

求正则表达式
某文章有参考文献如下:

[1]   超可爱的ICON吉他无线系统真机试用报告[J].   科技资讯   ,   2005,(34)  
[2]   杨福猛,   袁晓斌.   基于嵌入式蓝牙系统的可移动电话[J].   安徽师范大学学报(自然科学版)   ,   2002,(02)  
[3]   常亚勤,   王滨,   张少武.   一个无线认证协议的分析与改进[J].   郑州大学学报(理学版)   ,   2006,(02)  
[4]   雷培礼.   J2436型电磁波的干涉、衍射、偏振演示器的应用[J].   教学仪器与实验   ,   1991,(05)  
[5]   电磁法[J].   勘探地球物理进展   ,   1982,(02)  
[6]   脉冲超声波测井仪[J].   地球物理学报   ,   1959,(01)  
[7]   雷立云.   无线键盘的电路设计研究[J].   实验技术与管理   ,   2006,(03)  
[8]   钟其光,   钟静.   亚超声波开关控制技术探讨[J].   科技信息(学术版)   ,   2006,(09)  
[9]   秦任甲.   阐明多普勒效应机理的新方法[J].   广西物理   ,   1995,(Z2)  
[10]   赵申生.   电话线输送电视图像[J].   世界科学   ,   1986,(08)

现在要获取上面参考文献的文章部分(文章名可能是中英文、数字等等),即:

超可爱的ICON吉他无线系统真机试用报告
基于嵌入式蓝牙系统的可移动电话
一个无线认证协议的分析与改进
J2436型电磁波的干涉、衍射、偏振演示器的应用
电磁法
脉冲超声波测井仪
无线键盘的电路设计研究
亚超声波开关控制技术探讨
阐明多普勒效应机理的新方法
电话线输送电视图像

请问如何用正则表达式获取?或者还有什么方法可以获取?请不吝赐教!

------解决方案--------------------
string yourStr = ......;
MatchCollection mc = Regex.Matches(yourStr, "\\[\\d+\\]\\s+((.+?)\\.\\s+)?(.+?)\\.\\s+(.+?),\\s+\\d{4},(\\S+) ");
foreach(Match m in mc)
{
m.Groups[3].Value;//题目
}
------解决方案--------------------
开始是[\d+] 第一分割是 [J]. 之后的是 , 结束是 \n

"\[\d+\][^\n]*?\[J\]\.(?:[^,]*,)+?[^\n]*\n " (完成) 用时1分15秒

.......测试发现最后一个无法匹配

"\[\d+\][^\n]*?\[J\]\.(?:[^,]*,)+?[\s\S]*?(?:\n|$) " (改良) 用时1分12秒

.......测试通过
------解决方案--------------------
三楼的可以的
------解决方案--------------------
汗,少了一个字
asp还是asp.net中,asp.net中是支持的,asp没做过,不知道

------解决方案--------------------
asp中正则和其他的没多大区别的。
gzdiablo() 的正则应该能满足你的要求了。
ASP分组,你指的是什么?
“比如(? <title> (.+?))从而获取title”,这个写的不对吧。 " <title> (.+)? </title> "未测试。