难道没有一种能替代正则表达式的方法吗?

2016-01-08 09:29:35 +08:00
 smartdie

正则表达式三大缺点:难记,难写(容易出错),难读(基本没有可读性)。
写的时候很容易匹配出错,读别人写的表达式也非常困扰。
这个世界上有那么多编程语言,难道没人发明一种更易用的字符匹配方法吗?

2755 次点击
所在节点    正则表达式
28 条回复
bitbegin
2016-01-08 11:31:51 +08:00
都没人提 [red][www.red-lang.org] parse 么(或者 rebol parse )?

parse "http://www.v2ex.com" rule: ["http" opt #"s" "://" opt "www." "v2ex.com"]

感觉这个用着很好用。。。
zhangbohun
2016-01-08 11:46:58 +08:00
正则表达式的语法太抽象,因为字符越少越方便写,但是语法的逻辑还是很简单的。
jin5354
2016-01-08 11:56:43 +08:00
正则已经足够简单明了了
你想要易读,反正无非是上语法糖,最终效果也许还不如之前的
polythene
2016-01-08 13:04:36 +08:00
@babyhome 复杂的正则到最后看起来都像天书一样,这跟功底没有多大关系。

正则语法设计的可读性很差,为什么一直没有人肯承认呢。我非常佩服 JS 的作者,他就承认 JS 当年没设计好。
kn007
2016-01-08 13:29:04 +08:00
正则其实算是简单明了的了。
无论那种方式,最后到最后其实都是正则。。。

或许你需要类似这种东东来帮忙?

https://github.com/VerbalExpressions/PHPVerbalExpressions
Mutoo
2016-01-08 13:48:39 +08:00
正则表达式实质就是状态机的文本描述。再搞一套状态机,到头来还是正则表达式的方言而已。
em70
2016-01-08 13:55:50 +08:00
正则的问题在于总想一句话解决问题,这样必须要以复杂性为代价

其实文本分析只需要 2 个函数
1.提取两个指定字符串之间的内容
2.提取全文里两个指定字符串之间的所有内容

就足够分析任意结构的文本了
xmbaozi
2016-01-08 19:17:04 +08:00
http://www.baozy.com/archives/12362.html
30 分钟入门

这篇看一遍,基本都会写了,一段时间可以可以脱离手册

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX