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 断言等,如果有好办法请告诉我。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.