哪吒机器人提醒:

提醒:李卫公的长安城
【标题】正则表达式不是万能的
【摘要】经常会有人问起正则表达式的问题,常见的形式是:要解决这个问题,该怎么写正则表达式?OK,常见的某些问题,正则表达式应用起来的确得心应手。譬如,验证一个字符串是否数字字符串,\d+\,确实比逐个检查字符,用“或”连接10个判断(是否0-9之间的字符)要方便。然而,正则表达式终究是一种工具,功能再强大,也不是万能的。许多时候,仅仅希望依靠正则表达式,更准确地说,是“一条”正则表达式来完成任务,反而会走远路。譬如要找出这样的字符串:aba, aabaa, aaabaaa……也就是这样的字符串:在字母b的前后,字母a连续出现的次数一样多这种问题,正则表达式确实能解决。但如果要仅仅用“一条正则表达式”来解决,目前只有Perl的正则表达式强大到这种程度,其它语言中的正则表达式,恐怕做不到这一点。怎么办呢?其实,我们只需要另外加上一个判断作为辅助,就好了:正则表达式写作 (?... (04-09 19:08)