[非版务置顶]正则表达式学习贴,搜集各类典型正则问题。 - "请勿灌水"

兔子-顾问 2010-12-04 10:02:30
加精

1.本帖长期有效,专门搜集各类正则表达式可以解决的问题,并在本帖中进行点评。
2.讨论不限语言(c#/vb.net/java/c++/php/linux/...均可)
3.本帖是正则表达式新手学习贴、提问贴、高手pk贴、问题研究贴。不解答与正则无关问题,如有问题,可以从顶楼开始搜索是否有类似问题问过,我会定期查阅搜集在1楼。
4.为营造一个良好的学习、讨论的氛围,所以请不要回复:顶、支持、威武、很好、学习等本帖无关内容,如果认为本帖想关注,可以加入点击顶楼右上角:“+收藏”保留。
(楼主是vb.net版主,所以发在vb.net板块,方便删除灌水和无关回复)
5.本着共同学习的目的开帖,请大家不要破坏氛围,帖子内禁止任何不文明回复。

6.期待csdn能开正则表达式版块,正则无用论、正则不是一个专门技术的说法我选择无视,只希望有个地方可以讨论。爱好正则最主要是其精炼的语法和包含的强大逻辑性。
-------------------

同好互助,共同提高。
感谢您的理解,欢迎您的参与。


感谢大家支持,但请留意第四条,不要让技术贴被灌水淹没了,再次感谢大家的支持和理解。谢谢。

为营造一个良好的学习、讨论的氛围,
请不要回复:顶、支持、威武、很好、学习等本帖无关内容
如果认为本帖想关注,可以加入点击顶楼右上角:“+收藏”保留。
...全文
14387 227 打赏 收藏 转发到动态 举报
写回复
用AI写文章
227 条回复
切换为时间正序
请发表友善的回复…
发表回复
a95297488 2013-02-26
  • 打赏
  • 举报
回复
学习下.学习下.
thunor 2013-02-13
  • 打赏
  • 举报
回复
请问如果我要选择(X)的内容,但X代表的只能是数字和非数字的组合(谁开始不一定),而文档内有很多的X是纯数字我怎么来实现? [\((][\u4e00-\u9fa5\d\S][^\))|]+?[\))]可以选择出X大于等于10的内容来。我怎么改写?谢谢!
zhanshijjp 2012-11-22
  • 打赏
  • 举报
回复
https://passport.csdn.net/account/active?user=zhanshijjp&active=6c88d56ad29b65b487fa4192b442ba3c
wangyd324 2012-11-12
  • 打赏
  • 举报
回复
mark
快乐乔巴 2012-11-07
  • 打赏
  • 举报
回复
我咋不知道这好帖呢 正在深入学习正则 很强大
0802023028 2012-10-23
  • 打赏
  • 举报
回复
[Quote=引用 65 楼 的回复:]

悲催
昨天写了老长 结果发帖失败

正则30分钟入门教程(q107770540提供)的作者是deerchao童鞋的,为了尊重作者,最好加上
推荐iregex.org这个博客。作者也是个正则的达人,并且对正则灰常热衷

关于搜集文章,不知道大家用google alert不,如果用,订阅个:正则 正则表达式 regex regular expression 这个组关键字不错的。。

……
[/Quote]

这个博客写的文章我也看过,我学习正则就是从这篇文章开始的。
shenrongze 2012-08-15
  • 打赏
  • 举报
回复
支持支持~~~~~~
「已注销」 2012-07-24
  • 打赏
  • 举报
回复
Java未了解过
fanhtqd 2012-04-26
  • 打赏
  • 举报
回复
身份证严格验证
var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }
function isCardID(sId) {
var iSum = 0;
var info = "";
if (!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
sId = sId.replace(/x$/i, "a");
if (aCity[parseInt(sId.substr(0, 2))] == null) return "你的身份证地区非法";
sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
var d = new Date(sBirthday.replace(/-/g, "/"));
if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return "身份证上的出生日期非法";
for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);
if (iSum % 11 != 1) return "你输入的身份证号非法";
return true; //aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
jygongweibin 2012-03-22
  • 打赏
  • 举报
回复
2008对正则表达式的功能已经改进了
MSDN811914 2012-01-08
  • 打赏
  • 举报
回复
斑竹,上面问题我用下面的方法解决,但是>=和>如何让区分, 谢谢!!!
((\b+\-?\d+\.?\d+)|(\.?\d+))\b|\b\w+|[-+]|[*/]|,|[<>]|[>=]|[<=]|[()]|\b+
MSDN811914 2012-01-08
  • 打赏
  • 举报
回复
斑竹,上面问题我用下面的方法解决,但是如3.6改为.3则有问题,自己显示出3,我想提出的为.3或0.3
谢谢!!!
\b+\-?\d+\.?\d+\b|\b\w+|[-+]|[*/]|,|[()]|\b+
MSDN811914 2012-01-08
  • 打赏
  • 举报
回复
斑竹您好:有麻烦您了,谢谢!!!
我想用\b来分割字符串(但小数作为一个数),如:
CROSS(ZIG(3.5,10+3),REF(ZIG(3.6,10*(cl+3)),1))
我想分割成:
cross
(
zig
(
3.5
,
10
+
3
)
,
REF
(
ZIG
(
3.6
,
10
*

cl
+
3
)
)
,
1
)
)
zhai59991021 2011-12-31
  • 打赏
  • 举报
回复
【求一个简单的【正则表达式】】稍微会点正则表达式的请来帮个忙
<a class="unline" href="javascript:;" onclick="ListManager.selectCategory('其他精品','c6e4cbfbbeabc6b7');QZBlog.Util.Statistic.sendPV('classname_click', 'rizhi.qzone.qq.com');return false;" title="其他精品">其他精品</a>] 

<a href="javascript:;" class="blog_link" onclick="ListManager.selectBlog(1294550455);return false;">

<span title="听说,七夕要到了、、 -- 发表于2011-01-09 13:20">





<em class="c_tx4">[顶]</em>



<span id="blogtitle_1294550455" >

听说,七夕要到了、、

</span>

</span>




<a class="unline" href="javascript:;" onclick="ListManager.selectCategory('文件共享','cec4bcfeb9b2cfed');QZBlog.Util.Statistic.sendPV('classname_click', 'rizhi.qzone.qq.com');return false;" title="文件共享">文件共享</a>] 

<a href="javascript:;" class="blog_link" onclick="ListManager.selectBlog(1291613569);return false;">

<span title="C语言程序设计经典100例,会用到的 -- 发表于2010-12-06 13:29">





<em class="c_tx4">[顶]</em>



<span id="blogtitle_1291613569" >

C语言程序设计经典100例,会用到的

</span>

</span>


[size=30px]要就是例子就是上面两截,还有好多这种结构的,希望用正则表达式匹配出来,匹配段源码如下:
[/size]

catchs = New Regex("<a(.*)selectCategory([.\n]*)selectBlog([.\n]*)</span>", System.Text.RegularExpressions.RegexOptions.IgnoreCase) 
mc = catchs.Matches(strHtml)

[size=30px]这是我写的,调试发现明显不对:
<a(.*)selectCategory([.\n]*)selectBlog([.\n]*)</span>[/size]
my328420969 2011-12-06
  • 打赏
  • 举报
回复
好贴收藏之
我de名字 2011-11-07
  • 打赏
  • 举报
回复
受教了
兔子-顾问 2011-11-03
  • 打赏
  • 举报
回复
你前面如果一定带那么多,这样可以试试
Dim mc As MatchCollection = Regex.Matches(yourStr,"(?<=<tr onMouseOver=this.style.backgroundColor='93FFFF' onMouseOut=this.style.backgroundColor='ffffff' height=""20"">((?!</tr)[\s\S])*?)((?!</tr)[^\r\n])+")
for each m in mc
'm.Value是你要的
next
兔子-顾问 2011-11-03
  • 打赏
  • 举报
回复
是对的。你具体要什么?贴出原文,贴出要的内容,用换行分开。看不懂,匹配结果是对的。
MSDN811914 2011-11-03
  • 打赏
  • 举报
回复
请斑竹看看:我想取得一个网页里固定字符串中间的所有字符,该如何写,谢谢!!!
<tr onMouseOver=this.style.backgroundColor='93FFFF' onMouseOut=this.style.backgroundColor='ffffff' height="20">
上面为第一个字符串
下面为第二个字符串
</tr>

谢谢!!!

huangwenquan123 2011-11-03
  • 打赏
  • 举报
回复
现在才知道这个好帖,要不是顾问发到群里我都还不知道。

加载更多回复(98)
内容概要:本文聚焦于【SCI一区复现】基于配电网韧性提升的应急移动电源(MPS)动态调度的Matlab代码实现,旨在通过仿真手段优化灾害或突发事件下配电网的恢复能力。研究在前期MPS预配置的基础上,进一步构建动态调度模型,综合考虑负荷优先级、网络拓扑变化、MPS移动路径与供电时序等因素,实现灾后关键负荷的快速、持续恢复。文中提供了完整的Matlab仿真资源,包含YALMIP等优化工具包,以支持复杂的数学规划问题求解。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及电力行业从业者。; 使用场景及目标:① 复现高水平期刊(SCI一区)关于配电网韧性的研究成果;② 学习和掌握应急移动电源(如移动储能车)在灾后配电网恢复中的优化调度建模与求解方法;③ 利用提供的Matlab代码进行二次开发,研究不同灾害场景下的配电网应急响应策略。; 阅读建议:此资源以复现SCI一区论文为核心,不仅提供代码,更侧重于先进优化思想的应用。学习者应结合配电网、运筹学等相关知识,深入理解模型构建逻辑,并利用所提供的网盘资源进行代码调试与仿真分析,从而掌握解决实际工程问题的高级方法。
内容概要:本文档详细介绍了一种针对梯级水光互补系统的短期优化调度模型,旨在最大化可再生能源的可消纳电量期望值。该模型通过Matlab代码实现,综合考虑了梯级水电站与光伏发电的协同运行特性,充分结合水资源利用效率与光照条件的时空变化规律,以提升清洁能源的整体利用水平。文档不仅阐述了完整的数学建模过程,还引入智能优化算法求解这一复杂线性调度问题,并提供了详尽的Matlab代码实例,便于研究人员复现和验证。此外,文中提及了该模型在新能源、电力系统优化、智能算法应用等领域的广泛关联性,为相关研究提供了技术支撑与理论参考。; 适合人群:具备一定编程基础,特别是熟练掌握Matlab环境的科研人员;从事新能源系统规划、电力系统调度、自动化控制及相关领域的硕士、博士研究生及工程技术人员。; 使用场景及目标:①为梯级水电与光伏电站的协同优化运行提供理论依据与实用的技术框架;②帮助科研人员快速掌握并应用智能优化算法解决实际工程中的多目标、多约束调度问题;③推动清洁能源的高效利用,减少弃水弃光现象,提升能源系统的经济性与环境效益。; 阅读建议:此资源以Matlab代码为核心载体,融合了理论建模与实践仿真,建议读者在学习过程中不仅要深入理解其背后的优化原理与数学模型,还需动手调试代码,结合不同场景进行实验,从而真正掌握该调度模型的设计思想与实现方法,为后续的科研与工程应用打下坚实基础。
内容概要:本文提出了一种融合鱼鹰优化算法(OOA)与柯西变异策略的改进型麻雀搜索算法(OCSSA),旨在克服传统麻雀优化算法在求解复杂优化问题时易陷入局部最优、收敛速度慢及寻优精度不足等问题。通过引入鱼鹰捕食机制增强算法的全局探索能力,同时结合柯西变异策略提升种群多样性与局部开发能力,从而有效提高算法的整体优化性能。文中系统阐述了算法的数学模型与改进策略的设计原理,并通过多个标准基准测试函数验证了所提算法在收敛性、稳定性和寻优精度方面的优越性,进一步将该算法应用于典型工程优化问题中,充分展示了其在实际场景中的可行性和有效性。; 适合人群:具备一定智能优化算法理论基础,从事人工智能、运筹优化、电力系统、自动化、智能制造等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 改进现有群智能优化算法,提升求解高维、线性、多峰值复杂优化问题的能力;② 应用于电力系统调度、参数辨识、路径规划、机器学习超参数调优、结构设计优化等需要高效优化技术的工程实践;③ 作为学术研究参考,推动新型混合智能优化算法的创新与发展。; 阅读建议:建议读者结合提供的Matlab代码深入理解算法的实现细节与迭代机制,重点关注鱼鹰捕食行为的建模方式与柯西变异的触发条件,通过对比实验分析各改进策略对算法性能的影响,并尝试将其迁移至不同类型的优化问题中进行测试与调参,以全面掌握算法的应用技巧与适应性。

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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