一直对正则二字的含义不理解,所以去查了下,原来是古汉语词汇,意为:常规,规则
以下是百度百科的引用
正则是一个汉语词汇,拼音为 zhèng zé,基本意思是正其礼仪法则;正规;常规;正宗等。出自《楚辞离骚》、《插图本中国文学史》、《东京赋》等文献。
那么为什么当初不翻译成更加浅显易懂的规则表达式呢?
![]() | 1 feather12315 2021-08-16 08:45:03 +08:00 via Android 还有个翻译:正规表达式 |
![]() | 2 IgniteWhite 2021-08-16 08:50:05 +08:00 https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F#%E8%AD%AF%E5%90%8D%E5%95%8F%E9%A1%8C Regular Expression 的 Regular 一般被正则、正规或常。此的 Regular 即是、律的意思,Regular Expression 即「描述某的表式」之意。 |
3 jorneyr 2021-08-16 08:57:49 +08:00 ![]() 翻译为正则,首先没错,二是翻译的人文学素养比你的建议强很多。 |
![]() | 4 silkriver 2021-08-16 09:02:03 +08:00 汉语词汇丰富,各种写法通常也能让人秒懂,最终确定规范时基本上就是看谁定的词接受度更高一点 |
![]() | 5 weixiangzhe 2021-08-16 09:02:03 +08:00 via iPhone ![]() 可能是我文学素养 确实太低了,好多英文我看懂了中文还是没有看懂吧 |
![]() | 6 weixiangzhe 2021-08-16 09:07:48 +08:00 x(?=y) 先行断言 Lookahead assertion: (positive lookahead) atches “x” only if “x” is followed by “y”. For example, /Jack(?=Sprat)/ matches “Jack” only if it is followed by “Sprat”. `/Jack(?=Sprat x(?!y) 正向否定查找 Negative lookahead assertion: Matches “x” only if “x” is not followed by “y”. For example, /\d+(?!\.)/ matches a number only if it is not followed by a decimal point. /\d+(?!\.)/.exec('3.141') matches “141” but not “3”. (?<=y)x 后行断言 Lookbehind assertion: Matches “x” only if “x” is preceded by “y”. For example, /(?<=Jack)Sprat/ matches “Sprat” only if it is preceded by “Jack”. `/(?<=Jack (?<!y)x 反向否定查找 Negative lookbehind assertion: Matches “x” only if “x” is not preceded by “y”. For example, /(?<!-)\d+/ matches a number only if it is not preceded by a minus sign. /(?<!-)\d+/.exec('3') matches “3”. /(?<!-)\d+/.exec('-3') match is not found because the number is preceded by the minus sign. __ 话说这些翻译中文的确实有点难理解 |
![]() | 7 IgniteWhite 2021-08-16 09:09:57 +08:00 ![]() 实用角度出发:比如我问你,这个正则怎么写?你肯定知道我说的是正则表达式。 如果是规则表达式:这个规则怎么写?你会问我,什么规则?我说,匹配的那个规则。你问,各种 wildcard 和 globbing 都是匹配的规则,你说的哪个。我说,规则表达式那个。 |
![]() | 8 vopin 2021-08-16 09:24:05 +08:00 via iPhone ![]() 有可能是翻译的日语 正表 最近发现日语的数学、计算机词汇和中文很像 |
![]() | 9 Leonard 2021-08-16 09:28:13 +08:00 ![]() 专有名词翻译成一个非常用词,使用起来比较会没有歧义 |
![]() | 10 anjianshi 2021-08-16 09:29:39 +08:00 编程词汇翻译还扯什么文学素养,装逼... |
11 FakNoCNName 2021-08-16 09:34:57 +08:00 |
12 SilentDepth 2021-08-16 09:36:46 +08:00 via iPad @anjianshi #10 不然。翻译就是翻译,跟主题无关。好的翻译对文学素养是有要求的。 |
![]() | 14 luckykong 2021-08-16 09:47:17 +08:00 via Android ![]() @weixiangzhe 先行断言 和 Lookahead assertion,这两个哪一个都不好理解吧。好理解的是后面的英文解释说明。 但这样的话翻译成中文,也很容易理解啊 |
![]() | 15 silkriver 2021-08-16 09:48:17 +08:00 追究一个词是古汉语词汇还是日语词汇是没有意义的,只要遵循汉语的基本法就是汉语。walkman 是日本人生造的,但它就是个英语单词。 |
![]() | 16 huang119412 2021-08-16 09:49:03 +08:00 ![]() 鲁棒性不服,感觉像拿着棒子打人 |
17 koast 2021-08-16 09:52:15 +08:00 via Android @weixiangzhe #6 确实,这些中文翻译我一开始看了就???看了英语原文之后也能理解为什么这么翻译,但是不得不说,这种翻译方法不是很直观(指看到词能猜到大概意思) |
18 laoyur 2021-08-16 10:09:09 +08:00 @huang119412 看起来 说文学素养是装逼 的那人应该会喜欢 鲁棒性 这个翻译吧 |
![]() | 19 Mohanson 2021-08-16 10:24:12 +08:00 句柄... |
![]() | 20 plko345 2021-08-16 10:46:08 +08:00 via Android 正则这个翻译很有水平啊 |
21 fredli 2021-08-16 10:47:47 +08:00 有意思,这个翻译是大陆最先的么?还是香港台湾传过来的? |
![]() | 22 lujjjh 2021-08-16 10:48:52 +08:00 很多词数学里也有,像函数( function )、正则( regular ),虽然 CS 领域的意思不太一样,但是翻译借鉴过来了。 不同地区的翻译也有区别,比如台湾就是把 regular expression 翻译成规则运算式。 |
![]() | 23 southsala 2021-08-16 10:55:54 +08:00 我刚学编程的时候,不明白健壮性是个什么鬼,编程和健身有什么关系。 |
24 aguesuka 2021-08-16 10:57:38 +08:00 regularization = 正规化(数学) normalizer = 中心化子和正规化子 (Centralizer and normalizer) 范畴学. 至少把这两个先区分再说有水平吧. 作为业余译者, 直觉上 "positivity" 才应该是 "正规", 其它两个应该都应该换个翻译. |
25 nullcoder 2021-08-16 11:03:05 +08:00 @Leonard "专有名词翻译成一个非常用词,使用起来比较会没有歧义" 体会一下 memory 这个词在英语里的意思,觉不觉得这个词比起“内存”很形象? 而 k8s 里的 pod,至今没有统一 /官方的中文翻译。 |
26 aguesuka 2021-08-16 11:15:04 +08:00 如果要重新翻译"正则", 应该是意译, 需要蕴含 "字符串匹配表达式" 的含义, 或者像 "cron 表达式" 一样不要翻译. 直译"成规则"就是又重走把 "function" 翻译成 "函数" 的路, 也不好. |
27 securityCoding 2021-08-16 11:17:09 +08:00 via Android @huang119412 这个鲁棒性真的是日了狗 |
28 mekingname 2021-08-16 11:18:27 +08:00 我理解的是:正则=> 如果[正]确[则]提取。 如果你的 pattern 写得正确,符合目标数据的格式,则把目标数据提取出来 |
29 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 ). 和人文素养没有关系 |
30 aoeui 2021-08-16 11:54:29 +08:00 via Android |
31 PrinceofInj 2021-08-16 12:25:07 +08:00 via Android 这个翻译可以把鲁棒按在地上摩擦。 |
![]() | 32 GG668v26Fd55CP5W 2021-08-16 12:30:06 +08:00 via iPhone 规则表达式明显比较直观和准确,正则表达式?什么是正则,那反则表达式呢? |
![]() | 33 kinboy OP ![]() @IgniteWhite wildcard 翻译为通配符,就是一个不错的示例,可以是一个专用汉语名词,也容易理解,基本上第一次解除也能猜出个大概意思。 但是正则这个词在现代汉语中的使用频率应该非常低了,不去查一下还真不知道是什么意思 |
36 jorneyr 2021-08-16 12:54:51 +08:00 @aguesuka 可能你没注意,我提的是正则这个词的翻译比楼主提的规则从文学素养上来说更好,只是针对这个词,与其他方面无关。上面很多人也从各个方面进行了分析,大多人也认同正则比规则更合适。 |
![]() | 37 libook 2021-08-16 13:37:04 +08:00 ![]() 正则表达式的发明者是一个数学家,正则表达式是“形式语言学”的范畴,这一开始是属于数学领域的。 早先计算机还只是数学学科下的一个子学科,大量的概念都是来自于数学中的概念,比如咱们耳熟能详的函数;按照题主的思路,function 应该翻译成“功能”。 在数学中有很多跟 regualr 相关的概念,中文都是被翻译成正则,正则表达式可能是为了翻译上的统一性,所以也翻译成了正则。 至于数学上为什么这样翻译,有兴趣的人可以去考究一下,这个可能比较难,因为数学是一门古老的学科,有些数学概念甚至是古代的时候产生的,用的名字也是古汉语(比如勾股定理),以至于如今人们会觉得晦涩难懂。我个人更倾向的推测是,“正”是动词或副词性,“则”为名词性。 翻译成“规则表达式”确实浅显了,但不易懂,因为“规则”的含义太通用了,反而不能让人快速联想到是众多“规则”里的哪一种,而且并不是所有可以用来匹配字符串的“规则”都是 Regular Expression 。 即便是英语,同一个词汇在不同的语境下的意思也可能不一样,词典上的对照不是铁律,只是一种辅助意会的工具,否则机器翻译技术就不会那么难了。 |
![]() | 38 GG668v26Fd55CP5W 2021-08-16 14:02:18 +08:00 via iPhone @libook 不要拿数学当挡箭牌好吗?数学还讲究对称呢?有正数有负数,有正则表达式,那负则表达式呢? |
![]() | 39 autoxbc 2021-08-16 14:16:13 +08:00 ![]() 译名一旦形成就没什么可争论了,举个例子: 近代翻译大家「严复」都知道吧,没人敢说比他更懂翻译,他非常执着的要把今天常用的「社会」(Society)一词翻译为「群」,你说严复对还是不对,这个事已经无法深究了。而「社会」其实是个日本造汉字词,这又涉及到现代汉语里大量的日本造汉字词,这又是另一个话题了 |
![]() | 40 Kilerd 2021-08-16 14:34:36 +08:00 ![]() 技术圈的中文翻译你跟我说文学素养? robust 鲁棒性 socket 套接字( socket programing 套接字编程) 还有吧 goroutine 翻译成 「 go 程」 的 你品,你细品 |
![]() | 41 Biwood 2021-08-16 14:36:03 +08:00 第一次听说“正则表达式”这个词语,感觉挺唬人的,直到后来真正学习了并且用起来之后才发现,也就那样... 查了一下 台湾翻译:正规表达式 日本翻译:正规表现 对比一下,会发现“正则”的歧义更少。这大概是语言的接受程度跟语言本身的独特性中间的一种取舍。 |
![]() | 44 adoal 2021-08-16 16:18:28 +08:00 可能第一个这么翻译的人是刘仁轨的粉丝。 |
45 vinceall 2021-08-16 18:20:22 +08:00 没毛病,有病的是鲁棒性 |
![]() | 46 tLbf2p3UC4BM3H1N 2021-08-16 21:25:55 +08:00 仅仅是一个先行性和习惯性的问题,所谓的“说正则你会想到正则”,只是习以为常了而已。 |
![]() | 47 mitoop 2021-08-16 21:35:50 +08:00 via iPhone 有过同样的疑问 regular expression 有规律的表达式 不知道正则是怎么来的 |
48 titan2006 2021-08-16 21:44:21 +08:00 via iPhone 为了装逼胡乱翻译的产物,搞得翻译者很懂的样子 |
![]() | 49 pill 2021-08-16 22:00:51 +08:00 via iPhone 不是很喜欢这种故意表现的“好像有些家底”一样的翻译,也不是很赞成翻译它,专有词汇翻译本身既突破语言壁垒又创造语言壁垒,倒不如直接说 RE 表达式 |
![]() | 50 kidding 2021-08-16 23:36:18 +08:00 @huang119412 玩个梗 鲁棒性:指粗鲁的状态下也能表现的很棒。 |
![]() | 51 snw 2021-08-16 23:37:24 +08:00 via Android 起源不知道,但从结果来说,起一个相对比较独特的词汇搜索起来比较容易。 (然后望向一堆单字母和特殊字符作为名称的编程语言) |
52 boboliu 2021-08-17 04:38:02 +08:00 @falcon05 #38 数学啥时候「讲究对称」了……这从历史和事实做结论的推导怎么就「挡箭牌」了…… 在计算机还没有那么强大的年代,现在很多常用的东西就已经被计算机学家、或者说跨界的数学家和逻辑学家以数学语言的方式推导和定义了。翻译自然要考虑到数学界前有的翻译。 |
53 adormer 2021-08-17 04:52:23 +08:00 翻译很难做到完美,正则是挺难懂的,但是确实称得上信达雅.很多专业名词都挺晦涩难懂的,即使是母语造出来的词 |
![]() | 54 qwerthhusn 2021-08-17 08:19:50 +08:00 玩游戏,简中 > 英文 > 繁中 看技术资料,英文 > 简中 |
![]() | 55 araraloren 2021-08-17 08:56:05 +08:00 @vopin 因为确实很多词 ,近代的 都是 从 日文翻译 直接借用的.. 这样我们就不用翻译了 哈哈 |
![]() | 56 GG668v26Fd55CP5W 2021-08-17 17:36:33 +08:00 @libook 是,你把什的事拉到狐假虎威行就不了。block. |