2013年2月1日 星期五

regular expression的疑問

最近看到一個可以把regular expression轉換成finite state machine的網站,可以用圖形化的方式來檢視regular expression,幫忙除錯
http://www.regexper.com/
我把這個網站丟給了朋友,他則丟回了個好問題給我XD
[a-z.]跟[a-z\.]為何網站給的結果是一樣的??
後面那個很容易理解,前面那個則勾起了我的好奇,到底regular expression如何解釋的?因為.\^*還有許多字元被稱為metacharacter,如果這些落在[ ]會如何解釋?其實我沒有找到完整的解答,只有看到網路上有一句話: dot is not a metacharacter inside the character class~所以兩者是一樣的

另外搜尋的過程中找到了一個好玩的問題[a-Z]是否代表[a-zA-Z],我直覺是否定的,因為中間可能夾雜特殊字元,但是結果是,[a-Z]根本不是一個有效的表示法,因為int('a')>int('Z')

沒有留言:

張貼留言