使用正则表达式的优缺点 C#

最近学了一下正则表达式,感觉它确实比较强大,但是,我想任何事物都是有利有弊的,正则表达式应该也不会例外。却不知其利弊何如?何时该用,为何要用?请看到的人都来赐教一下,或者... 最近学了一下正则表达式,感觉它确实比较强大,但是,我想任何事物都是有利有弊的,正则表达式应该也不会例外。却不知其利弊何如?何时该用,为何要用?请看到的人都来赐教一下,或者讨论一番。 展开
 我来答
蓝宇嘉紫文
2020-02-29 · TA获得超过3738个赞
知道大有可为答主
回答量:3148
采纳率:33%
帮助的人:238万
展开全部
书,当然首选《精通正则表达式》
第三版,现在网上也有电子书,你可以看看
我觉得最大的缺点有以下几个方面:
1.正则表达式只适合匹配文本字面,不适合匹配文本意义:像匹配url,email这种纯文本的字符就很好,但比如匹配多少范围到多少范围的数字,如果你这个范围很复杂的话用正则就很麻烦。或者匹配html,这个是很多人经常遇到的,写一个复杂匹配html的正则很麻烦,不如使用针对特定意义的处理器来处理(比如写语法分析器,dom分析器等)
2.容易引起性能问题:像.*这种贪婪匹配符号很容易造成大量的回溯,性能有时候会有上百万倍的下降,编写好的正则表达式要对正则引擎执行方式有很清楚的理解才可以
3.正则的替换功能较差:甚至没有基本的截取字符串或者把首字母改变大小写的功能,这对于url重写引擎有时候是致命的影响
但是也有优点:只要熟练应用正则表达式,而且匹配的目标是纯文本,那么相比于写分析器来说,正则可以更快速的完成工作。还有在捕获字符串的能力,正则也可以很好的完成工作,比如截取url的域名或者其他的内容等等
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式