西西河

主题:文问题,关于正则表达式 -- pastebt

共:💬26 🌺8 新:
全看分页树展 · 主题 跟帖
家园 推荐一个学习正则表达式的连接

外链出处

个人看法,正则表达式上手倒不会很难,然而其表达式可读性却非常差。因此实际使用中的困难在于如何维护这种可读性极差的正则代码。(它的确是一种代码,一种字符串匹配程序的代码)

我的方法是采用结构化方式,一层层剥下来。比如楼主的问题可以分成三块:

1、a开始的边界条件

2、匹配字符3

3、以b结束的边界条件

这样可以一个复杂的匹配就被分解成若干个简单的匹配,写起来也就简单很多了。和写程序一样,如果第一次分解还得不出可以立即翻译的正则表达式,我们还可以进一步分解。

而在实际代码中我就会使用字符串模板替换来还原上述过程。其伪代码很像这样:

REG := LEFT_BORDER + MATCH_CHAR + RIGHT_BORDER

LEFT_BORDER=.....

MATCH_CHAR=3

RIGHT_BORDER=.....

怎么样?看起来有点熟悉吧。这就是大多数计算机文献中语法定义的格式。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河