看板 RegExp 關於我們 聯絡資訊
※ [本文轉錄自 Linux 看板] 作者: zxvc (執著) 看板: Linux 標題: Re: [戰文!?] Regular Expression的中譯 時間: Fri Jan 15 08:47:51 2010 http://mitpress.mit.edu/books/FLAOH/cbnhtml/glossary-R.html Regular Expression A definition for a class of strings that can be recognized by a finite-state automaton. An example of a class of strings that is regular would be legal mathematical expressions using only ``+'' and digits. An example that is not regular is the same legal mathematical expressions as before, but with properly nested parentheses. Ex1: 1+2+3 1+2 +1+2 ... Python RegExp: import re print re.match("\+?\d?[\+\d]*", "1+2+3").group(0) Ex2: (1+2) ((1)+2) (((1))+2) (1+(2)) (1+((2)+(3))) ... 請高手找出剛好match它們的RegExp!? 所以簡單的說regular不是指什麼正不正統, 而是指你能不能找到一個pattern match一組字串。 沒有"規律"的字串組,是找不到對應的pattern! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.71.93 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.71.93
adrianshum:不是沒有規律, 有規律的字串一樣可以不符合 regular 01/15 10:40
adrianshum:expression 的定義吧(根據你 quote 那句). 01/15 10:41
adrianshum:而是當某(類)String 能根據某特定規則表達出來而已. 01/15 10:42
adrianshum:可能有點太計較,但至少可以肯定的是Regular Expression 01/15 10:43
adrianshum:這字的本意並不是 "某規律 之 表達式", 而是這種表達式 01/15 10:44
adrianshum:因為符合某種特點所以被形容為Regular 01/15 10:44
adrianshum:所以譯做正規表示式並無不妥, 反而比"規律表示式" 正確 01/15 11:14
adrianshum:你的quote 也說明了: 能以 finite-state automation 01/15 11:15
adrianshum:recognize 的 class of String 被稱為 Regular Exp 01/15 11:15
adrianshum:就等如說某數是自然數, 只是那數字符合某種規則而已 01/15 11:17
adrianshum:不符合的數 (負數, 小數 etc) 也不是有多不自然 :) 01/15 11:17
zxvc:從我引用的definition,可知regular是形容class的。 01/15 16:06
zxvc:也就是說class有分規不規則。 01/15 16:06
zxvc:我是覺得"正規"一詞很含糊,一般給人感覺有"正統"、"正式"的 01/15 16:11
zxvc:感覺。那請問什麼是不正式、正統的class of strings? 01/15 16:12
zxvc:個人覺得"找不到regulation(規律)的class"較好懂。 01/15 16:14
zxvc:a大不如說說你對"正規"一詞的理解。 01/15 16:27