当不使用正则表达式在C#(或Java,C等)

前端之家收集整理的这篇文章主要介绍了当不使用正则表达式在C#(或Java,C等)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很明显,有很多问题看起来像一个简单的正则表达式表达式将会解决,但是证明是很难用正则表达式来解决的。

那么那个不是正则表达式专家的人怎么知道他/她是否应该学习正则表达式来解决给定的问题?

(见“Regex to parse C# source code to find all strings”,我问这个问题。)

这似乎总结得很好:

07001
07002

(我刚刚更改了问题的标题,使其更具体,因为C#中的Regex的一些问题在Perl和JScript中得到解决,例如两个引用级别使得正则表达式如此不可读。

不要尝试使用正则表达式来解析分层文本,例如程序源(或嵌套XML):它们被证明对于那个不够强大,例如,对于一串括号,它们不能确定它们是否“平衡与否。

使用解析器生成器(或类似技术)。

另外,我不建议使用正则表达式来验证具有严格正式标准(如电子邮件地址)的数据。它们比你想要的要困难得多,你会有不正确或非常长的正则表达式。

猜你在找的正则表达式相关文章