中文 API 表达正则

3 天前
 xuanwu

初版草稿,欢迎意见建议 pip install chinese-regular-expression。详请见文档和测试用例。

任一("From", "Subject").表达()
=>
r"From|Subject"


序列("$").可无().某字("_", 大小写英文, 中文).某字("_", 大小写英文, 数字, 中文).若干().表达()
=>
r'\$?[_a-zA-Z\u4e00-\u9fa5][_a-zA-Z0-9\u4e00-\u9fa5]*'


序列("<emphasis>", 分段(序列(多个数字, 分段(序列(点号, 多个数字)).若干(3))), "</emphasis>").表达()
=>
r"<emphasis>([0-9]+(\.[0-9]+){3})</emphasis>"
841 次点击
所在节点    分享创造
9 条回复
oneisall8955
3 天前
想起文言文编程语言😂
w568w
3 天前
恭喜你重新发明了 Parser combinator: https://en.wikipedia.org/wiki/Parser_combinator
forty
3 天前
你这中英混杂的看着真难受,就像讲话的中英夹杂过多也听了难受一样。
比文言文编程差远了。
文言文写的是: [正则之 From 或 Subject] 不比 [任一("From", "Subject").表达()] 舒服吗?
xuanwu
2 天前
@w568w 创作动机请见: https://zhuanlan.zhihu.com/p/323940002 欢迎分享类似实现。
xuanwu
2 天前
@forty 略复杂的比如另两个写出来不知如何?
个人暂时用 py 比较多,于是先做 py 的库。
forty
1 天前
@xuanwu
'\$?[_a-zA-Z\u4e00-\u9fa5][_a-zA-Z0-9\u4e00-\u9fa5]*'
或有$,及_、大小写英文、汉字之一,及_、大小写英文、数字、汉字若干
xuanwu
17 小时 43 分钟前
@forty 感觉不错。不过 wenyan 项目里 `或有、及、若干` 尚未实现吧?
sead
11 小时 38 分钟前
这个除了好玩之外,用起来不别扭吗?
forty
1 小时 5 分钟前
@xuanwu 有提案,未实现。

@sead 这个东西的价值,其实不在代码层面,我觉得应该是可以和图形化结合起来,从图形(铁道图)来构建正则。

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

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

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

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

© 2021 V2EX