作者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