1

昨天我迷路了,当我试图用正则表达式生成一个正则表达式时,我未能逃脱转义转义(对于 JavaScript)。正则表达式非常适合 CLI Unix 管道链和曾经使用过的 shell 脚本,或者当我想要一个快速而肮脏的解决方案时,我不想维护一个使用正则表达式的程序。正则表达式不可读,难以调试等,等等。

除了正则表达式,还有其他面向行的字符串操作包/语言/任何东西吗?还是一种产生正则表达式的好语言?

4

2 回答 2

2

就我而言,正则表达式实际上已经相当高级了。它们肯定是迟钝的,学习曲线很陡峭,但它很短:你可以在一个 HTML 页面上阅读你需要知道的关于正则表达式风格的所有内容,这对于例如 Python 来说肯定不是真的。

所以,如果你有一个正则表达式,但它让你觉得你的大脑正在从你的耳朵里漏出来,如果它更明确的话你会更开心,我会下降一个水平,而不是上升。编写某种状态机而不是仅仅使用模式匹配甚至可以澄清你的逻辑。

于 2013-07-17T15:05:25.527 回答
2

我的 Twitter 流上出现了一个好东西:VerbalExpressions

从文档中引用:

var tester = VerEx()
            .startOfLine()
            .then( "http" )
            .maybe( "s" )
            .then( "://" )
            .maybe( "www." )
            .anythingBut( " " )
            .endOfLine();

这就是我所说的:可读、可维护的代码,而不是模糊的特殊字符系列。

于 2013-07-23T07:58:53.557 回答