正则表达式可以用程序生成吗

正则就是一种程序语言啊……

你想干嘛?

■网友
可以生成,但意义不大。
【正则表达式可以用程序生成吗】 正则是一个非常精妙的浓缩表示法,如果想用代码生成正则,这个程序需要写大量非常复杂的规则,代价太大了。当然如果只是简单的往后堆规则的话倒是不难写,但那种生成的正则就是一坨屎,还不如直接字符串拆了比呢。
而且如果你有能力实现一套完美的正则生成器,那你的技术完全可以搞一个比正则还厉害的字符串检验工具了。
举个例子就是你花100万造了一台造币机,每次造几个1块钱硬币,你琢磨下造多久能回本儿……

■网友
程序的RE本身就是通过一门DSL来表达的,比如最流行的Perl风格的pres, 然后你是要设计另外一门DSL来生成另外一门DSL吗?

■网友

我写过一个生成数字区间的
因为规则有限写起来简单
其他的就像你说的围棋一样
应该去问机器学习专家

■网友
正则语法固定但是中文语意不固定呀,一个正则表达式表达的意思是固定的,但你想过中文的“博大精深”么,你用中文表示这句正则的意思,你去试试有多少种写法。多一个字少一个字意思就不一样了。就算写出来了,准确率你敢保证多少?cron表达式我觉得还能生成。正则的话……我觉得还是自己写吧

■网友
这个是需要建立规则库的,比如什么电话号码、邮箱、网址、姓名等等,其实网上已经有很多了,根据实际场景选择就是了。
比如:
正则表达式在线测试 - 站长工具

■网友
如果是正则的查找大概只要封装一下语义的识别吧。


    推荐阅读