Regular Expression 为何会翻译成正则表达式,而不是规则表达式

2021-08-16 08:01:15 +08:00
 kinboy

一直对正则二字的含义不理解,所以去查了下,原来是古汉语词汇,意为:常规,规则

以下是百度百科的引用

正则是一个汉语词汇,拼音为 zhèng zé,基本意思是正其礼仪法则;正规;常规;正宗等。出自《楚辞·离骚》、《插图本中国文学史》、《东京赋》等文献。

那么为什么当初不翻译成更加浅显易懂的规则表达式呢?

6693 次点击
所在节点    程序员
56 条回复
fredli
2021-08-16 10:47:47 +08:00
有意思,这个翻译是大陆最先的么?还是香港台湾传过来的?
lujjjh
2021-08-16 10:48:52 +08:00
很多词数学里也有,像函数( function )、正则( regular ),虽然 CS 领域的意思不太一样,但是翻译借鉴过来了。

不同地区的翻译也有区别,比如台湾就是把 regular expression 翻译成规则运算式。
southsala
2021-08-16 10:55:54 +08:00
我刚学编程的时候,不明白健壮性是个什么鬼,编程和健身有什么关系。
aguesuka
2021-08-16 10:57:38 +08:00
regularization = 正规化(数学)
normalizer = 中心化子和正规化子 (Centralizer and normalizer) 范畴学. 至少把这两个先区分再说有水平吧.
作为业余译者, 直觉上 "positivity" 才应该是 "正规", 其它两个应该都应该换个翻译.
nullcoder
2021-08-16 11:03:05 +08:00
@Leonard "专有名词翻译成一个非常用词,使用起来比较会没有歧义"

体会一下 memory 这个词在英语里的意思,觉不觉得这个词比起“内存”很形象?
而 k8s 里的 pod,至今没有统一 /官方的中文翻译。
aguesuka
2021-08-16 11:15:04 +08:00
如果要重新翻译"正则", 应该是意译, 需要蕴含 "字符串匹配表达式" 的含义, 或者像 "cron 表达式" 一样不要翻译. 直译"成规则"就是又重走把 "function" 翻译成 "函数" 的路, 也不好.
securityCoding
2021-08-16 11:17:09 +08:00
@huang119412 这个鲁棒性真的是日了狗
mekingname
2021-08-16 11:18:27 +08:00
我理解的是:正则=> 如果[正]确[则]提取。
如果你的 pattern 写得正确,符合目标数据的格式,则把目标数据提取出来
aguesuka
2021-08-16 11:37:51 +08:00
@jorneyr
https://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
和制汉语正規表現(せいきひょうげん、英: regular expression ).
和人文素养没有关系
aoeui
2021-08-16 11:54:29 +08:00
@huang119412
鲁棒性 台译:強健性
句柄 台译:把手
PrinceofInj
2021-08-16 12:25:07 +08:00
这个翻译可以把鲁棒按在地上摩擦。
falcon05
2021-08-16 12:30:06 +08:00
规则表达式明显比较直观和准确,正则表达式?什么是正则,那反则表达式呢?
kinboy
2021-08-16 12:31:24 +08:00
@IgniteWhite wildcard 翻译为通配符,就是一个不错的示例,可以是一个专用汉语名词,也容易理解,基本上第一次解除也能猜出个大概意思。
但是正则这个词在现代汉语中的使用频率应该非常低了,不去查一下还真不知道是什么意思
kinboy
2021-08-16 12:38:47 +08:00
@jorneyr 好的,谢谢
kinboy
2021-08-16 12:39:40 +08:00
@laoyur 哈哈哈说起鲁棒总是会想起鲁智深手持大棒 😅
jorneyr
2021-08-16 12:54:51 +08:00
@aguesuka 可能你没注意,我提的是正则这个词的翻译比楼主提的规则从文学素养上来说更好,只是针对这个词,与其他方面无关。上面很多人也从各个方面进行了分析,大多人也认同正则比规则更合适。
libook
2021-08-16 13:37:04 +08:00
正则表达式的发明者是一个数学家,正则表达式是“形式语言学”的范畴,这一开始是属于数学领域的。

早先计算机还只是数学学科下的一个子学科,大量的概念都是来自于数学中的概念,比如咱们耳熟能详的函数;按照题主的思路,function 应该翻译成“功能”。

在数学中有很多跟 regualr 相关的概念,中文都是被翻译成正则,正则表达式可能是为了翻译上的统一性,所以也翻译成了正则。

至于数学上为什么这样翻译,有兴趣的人可以去考究一下,这个可能比较难,因为数学是一门古老的学科,有些数学概念甚至是古代的时候产生的,用的名字也是古汉语(比如勾股定理),以至于如今人们会觉得晦涩难懂。我个人更倾向的推测是,“正”是动词或副词性,“则”为名词性。

翻译成“规则表达式”确实浅显了,但不易懂,因为“规则”的含义太通用了,反而不能让人快速联想到是众多“规则”里的哪一种,而且并不是所有可以用来匹配字符串的“规则”都是 Regular Expression 。

即便是英语,同一个词汇在不同的语境下的意思也可能不一样,词典上的对照不是铁律,只是一种辅助意会的工具,否则机器翻译技术就不会那么难了。
falcon05
2021-08-16 14:02:18 +08:00
@libook 不要拿数学当挡箭牌好吗?数学还讲究对称呢?有正数有负数,有正则表达式,那负则表达式呢?
autoxbc
2021-08-16 14:16:13 +08:00
译名一旦形成就没什么可争论了,举个例子:

近代翻译大家「严复」都知道吧,没人敢说比他更懂翻译,他非常执着的要把今天常用的「社会」(Society)一词翻译为「群」,你说严复对还是不对,这个事已经无法深究了。而「社会」其实是个日本造汉字词,这又涉及到现代汉语里大量的日本造汉字词,这又是另一个话题了
Kilerd
2021-08-16 14:34:36 +08:00
技术圈的中文翻译你跟我说文学素养?
robust 鲁棒性
socket 套接字( socket programing 套接字编程)

还有吧 goroutine 翻译成 「 go 程」 的
你品,你细品

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

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

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

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

© 2021 V2EX