常常弄混re.match 與 re.search的差別
寫下來以免又忘了。
re.match("pattern","string")是比對該字串的「開頭」是否符合該表示式
re.search("pattern", "string")則尋找string中任何位置是否有相符者
兩者皆回傳MatchObject,若找不到則回傳None
2012年8月3日 星期五
2012年4月17日 星期二
正規表示式配對標籤
最近在寫別人的作業時,要用到正規表示式抓取成對標籤內的文字內容
參考資料
例如說:
<doc>段落一</doc> <doc> 段落二 </doc>
直覺的想法便是用 " <doc>.*</doc>"分別捕捉到段落一與二
然而正規表示式具有 greedy 的特性故實際配對為
<doc>段落一</doc> <doc> 段落二 </doc>
如果想使用non greddy的正規表示式
需改寫為 "<doc>.*?</doc>"配對結果:
<doc>段落一</doc> <doc> 段落二 </doc>..........不過這樣寫能通,還是有點摸不著頭緒
參考資料
http://www.exampledepot.com/egs/java.util.regex/greedy.html
訂閱:
文章 (Atom)