作者zxvc (執著)
看板RegExp
標題Re: [戰文!?] Regular Expression的中譯
時間Fri Jan 15 08:58:36 2010
※ [本文轉錄自 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