Laconica - The Open Microblogging Tool.是一套免費且開放原始碼(PHP)的微型部落格平臺,可以用在一個社群或群組的短訊(140 character)溝通平臺,類似於當下熱門的Twitter、Plurk。
如果您是Twitter的愛用者,對於「@」符號應該不會太陌生,下述是從Laconica的原始碼抓出它的Regular Expression來看:
import re msg = "@account This is a test." p = r'(?:^|\s)@([a-z0-9]{1,64})' m = re.findall(p,msg) for i in m: print i
從這個簡單的小程式來看,重點在於「(?:^|\s)@([a-z0-9]{1,64})」這一行Regular Expression,它處理的方式是在「@」之後的「帳號名稱」只能是小寫的字母和數字所組成,且範圍限制在1到64個字元之間,而在「@」之前的處理方式則是必須是訊息的起始位置或是空白字元,不過因為它是用「(?:^|\s)」括弧涵蓋起來,所以加上「?:」來排除這個Group,如此就是一個類似處理Twitter訊息輸入欄的Regular Expression。
下述這個範例就是一個簡單的利用「#」符號來擴展成標記Tag的方法:
import re msg = "Today is a sunny day. #weather #life" p = r'(?:^|\s)#([A-Za-z0-9_\-\.]{1,64})' m = re.findall(p,msg) for i in m: print i
參考資源