作者LPH66 ((short)(-15074))
看板RegExp
標題Re: 請問 BNF v.s. RegEX
時間Wed Dec 24 08:08:35 2008
※ 引述《HuangJC (吹笛牧童)》之銘言:
: (...很怕被鞭)
: BNF V.S. RegEx,當然是不同的
: 我想知道的是,它是絕對不能互相取代
: 或者是比較方便而己的問題
: 因為一看到 BNF 就覺得有點熟,像是見過
: ;;
: 會研究這個是因為
: http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.1
: HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
: 以上我沒看懂
: 整個文件都無法解釋;但我可以看懂同事整理的簡報檔
: 這樣很糟,無法自己看文件
: 所以才鑽了進來
: 以上,謝謝
的確是差很多
BNF能表示的可以是個 context-free language
regular expression能表示的只能是個 regular language 比context-free弱一些
(也就是有些BNF能表示的不能用regular expression表示)
(不過後面這個regular expression是不把\1\2什麼的算進去
算進去的話我猜可能會落在regular language和context-free的中間...)
--
[LPH] Oops, your OOP's a problem? 說:
你現在還是看不到狗?
************* 說:
看得到 只是 他們不會跑 就一直呆呆在那邊 一直在起點
[LPH] Oops, your OOP's a problem? 說:
你要按"ㄅㄧㄤˋ"它們才會跑啊@@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.84
※ 編輯: LPH66 來自: 140.112.30.84 (12/24 08:09)
1F:推 HuangJC:嗯,謝謝;不過我想到 boolean 函式裏,可以廣列真值表的例子 12/25 11:55
2F:→ HuangJC:or 為主的表示法,也可以轉成 and 為主;只是方不方便.. 12/25 11:56
3F:→ MOONRAKER:你舉的這個例子中bool func和truth table是同等的 02/05 11:26
4F:→ MOONRAKER:regexp和BNF之間的差別是表現能力的差別 02/05 11:27
5F:→ MOONRAKER:regex可以轉為BNF,BNF卻未必可以轉為regex 02/05 11:27
6F:→ MOONRAKER:這在那些正規語言的課裡面會教到 02/05 11:27