Simple Regex Language 是一个简单的正则表达式语言——使用 SQL 相似的语言来构建正则表达式,易读性要比我们正常使用正则好太多。
之前发现这个开源库的时候比较感兴趣,中秋前后便抽空实现了一个 JavaScript 的版本:SRL-JavaScript。
使用 ES6 开发,基于 Node 6.0+,可以使用 webpack 和 babel 打包后在浏览器中使用。给个文档中的例子:
const SRL = require('srl')
const query = new SRL('letter exactly 3 times')
const regex = query.get() // /[a-z]{3}/
query.test('aaa') // true
query.exec('aaa') // [ 'aaa', index: 0, input: 'aaa' ]
更多语言规范请参考:Simple Regex
不过由于 JS 正则引擎的缺陷,没法实现捕获分组命名和 lookahead 断言等,如果有好办法请告诉我。
1
Mcatt 2016-09-22 10:40:21 +08:00
已 star 。
|
2
doubleflower 2016-09-22 11:03:34 +08:00
看了一下语法太松了,写一堆 SRL 还不如小小一段正则可读。
|
3
bumz 2016-09-24 11:09:45 +08:00
我觉得恰恰相反吧。。。看到正则表达式就能想到正则引擎的工作方式,精确而又准确,基本上都能一遍写对; SRL 的语法太自然语言,又长又复杂,还要人肉翻译回正则表达式才能清楚正则引擎都会做些什么。。。完全就是画蛇添足
|