V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kinboy
V2EX  ›  程序员

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

  •  
  •   kinboy · 68 天前 via Android · 5148 次点击
    这是一个创建于 68 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    以下是百度百科的引用

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

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

    56 条回复    2021-08-17 17:36:33 +08:00
    feather12315
        1
    feather12315   68 天前 via Android
    还有个翻译:正规表达式
    IgniteWhite
        2
    IgniteWhite   68 天前
    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 即「描述某種規則的表達式」之意。
    jorneyr
        3
    jorneyr   68 天前   ❤️ 9
    翻译为正则,首先没错,二是翻译的人文学素养比你的建议强很多。
    silkriver
        4
    silkriver   68 天前
    汉语词汇丰富,各种写法通常也能让人秒懂,最终确定规范时基本上就是看谁定的词接受度更高一点
    weixiangzhe
        5
    weixiangzhe   68 天前 via iPhone   ❤️ 7
    可能是我文学素养 确实太低了,好多英文我看懂了中文还是没有看懂吧
    weixiangzhe
        6
    weixiangzhe   68 天前
    x(?=y) 先行断言 Lookahead assertion: (positive lookahead) Matches “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.

    __
    话说这些翻译中文的确实有点难理解😂
    IgniteWhite
        7
    IgniteWhite   68 天前   ❤️ 10
    实用角度出发:比如我问你,这个正则怎么写?你肯定知道我说的是正则表达式。
    如果是规则表达式:这个规则怎么写?你会问我,什么规则?我说,匹配的那个规则。你问,各种 wildcard 和 globbing 都是匹配的规则,你说的哪个。我说,规则表达式那个。
    vopin
        8
    vopin   68 天前 via iPhone   ❤️ 1
    有可能是翻译的日语 正規表現
    最近发现日语的数学、计算机词汇和中文很像
    Leonard
        9
    Leonard   68 天前   ❤️ 23
    专有名词翻译成一个非常用词,使用起来比较会没有歧义
    anjianshi
        10
    anjianshi   68 天前
    编程词汇翻译还扯什么文学素养,装逼...
    FakNoCNName
        11
    FakNoCNName   68 天前
    @anjianshi 难道你看现在这些年翻译的东西没觉得更难理解、更恶心吗。

    现在的狗屁翻译,干脆都不翻译了,直接音译过来。
    SilentDepth
        12
    SilentDepth   68 天前 via iPad
    @anjianshi #10 不然。翻译就是翻译,跟主题无关。好的翻译对文学素养是有要求的。
    kenvix
        13
    kenvix   67 天前
    @anjianshi 不管什么领域,翻译都应该讲究信达雅
    luckykong
        14
    luckykong   67 天前 via Android   ❤️ 1
    @weixiangzhe 先行断言 和 Lookahead assertion,这两个哪一个都不好理解吧。好理解的是后面的英文解释说明。 但这样的话翻译成中文,也很容易理解啊
    silkriver
        15
    silkriver   67 天前
    追究一个词是古汉语词汇还是日语词汇是没有意义的,只要遵循汉语的基本法就是汉语。walkman 是日本人生造的,但它就是个英语单词。
    huang119412
        16
    huang119412   67 天前   ❤️ 1
    鲁棒性不服,感觉像拿着棒子打人😅
    koast
        17
    koast   67 天前 via Android
    @weixiangzhe #6 确实,这些中文翻译我一开始看了就???看了英语原文之后也能理解为什么这么翻译,但是不得不说,这种翻译方法不是很直观(指看到词能猜到大概意思)
    laoyur
        18
    laoyur   67 天前
    @huang119412 看起来 说文学素养是装逼 的那人应该会喜欢 鲁棒性 这个翻译吧
    Mohanson
        19
    Mohanson   67 天前
    句柄...
    plko345
        20
    plko345   67 天前 via Android
    正则这个翻译很有水平啊
    fredli
        21
    fredli   67 天前
    有意思,这个翻译是大陆最先的么?还是香港台湾传过来的?
    lujjjh
        22
    lujjjh   67 天前
    很多词数学里也有,像函数( function )、正则( regular ),虽然 CS 领域的意思不太一样,但是翻译借鉴过来了。

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

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

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

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

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

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

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

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

    还有吧 goroutine 翻译成 「 go 程」 的
    你品,你细品
    Biwood
        41
    Biwood   67 天前
    第一次听说“正则表达式”这个词语,感觉挺唬人的,直到后来真正学习了并且用起来之后才发现,也就那样...

    查了一下
    台湾翻译:正规表达式
    日本翻译:正规表现

    对比一下,会发现“正则”的歧义更少。这大概是语言的接受程度跟语言本身的独特性中间的一种取舍。
    generic
        42
    generic   67 天前
    @Leonard 那你把数学里 群,环,格,特征,理想 等等常用到不能再常用的词,给换个“比较会没有歧义”的版本呗
    Leonard
        43
    Leonard   67 天前
    @generic #42 我换了又不算
    adoal
        44
    adoal   67 天前
    可能第一个这么翻译的人是刘仁轨的粉丝。
    vinceall
        45
    vinceall   67 天前
    没毛病,有病的是鲁棒性
    weeiy
        46
    weeiy   67 天前
    仅仅是一个先行性和习惯性的问题,所谓的“说正则你会想到正则”,只是习以为常了而已。
    mitoop
        47
    mitoop   67 天前 via iPhone
    有过同样的疑问 regular expression 有规律的表达式 不知道正则是怎么来的
    titan2006
        48
    titan2006   67 天前 via iPhone
    为了装逼胡乱翻译的产物,搞得翻译者很懂的样子
    ohiu
        49
    ohiu   67 天前 via iPhone
    不是很喜欢这种故意表现的“好像有些家底”一样的翻译,也不是很赞成翻译它,专有词汇翻译本身既突破语言壁垒又创造语言壁垒,倒不如直接说 RE 表达式
    kidding
        50
    kidding   67 天前
    @huang119412 玩个梗 鲁棒性:指粗鲁的状态下也能表现的很棒。
    snw
        51
    snw   67 天前 via Android
    起源不知道,但从结果来说,起一个相对比较独特的词汇搜索起来比较容易。
    (然后望向一堆单字母和特殊字符作为名称的编程语言🐶)
    boboliu
        52
    boboliu   67 天前
    @falcon05 #38 数学啥时候「讲究对称」了……这从历史和事实做结论的推导怎么就「挡箭牌」了……

    在计算机还没有那么强大的年代,现在很多常用的东西就已经被计算机学家、或者说跨界的数学家和逻辑学家以数学语言的方式推导和定义了。翻译自然要考虑到数学界前有的翻译。
    adormer
        53
    adormer   67 天前
    翻译很难做到完美,正则是挺难懂的,但是确实称得上信达雅.很多专业名词都挺晦涩难懂的,即使是母语造出来的词
    qwerthhusn
        54
    qwerthhusn   67 天前
    玩游戏,简中 > 英文 > 繁中
    看技术资料,英文 > 简中
    araraloren
        55
    araraloren   67 天前
    @vopin 因为确实很多词 ,近代的 都是 从 日文翻译 直接借用的.. 这样我们就不用翻译了 哈哈
    falcon05
        56
    falcon05   66 天前
    @libook 數學是數學,你把沒什麼關係的事拉到數學來狐假虎威強行就不對了。block.
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1957 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:45 · PVG 09:45 · LAX 18:45 · JFK 21:45
    ♥ Do have faith in what you're doing.