[問題] 關於正規表示式

作者: nevikw39 (牧)   2019-02-24 09:18:37
如題,最近開始練習正規表示式
我先在 regex101.com 上測試,才用 <regex> 寫到 c++ 裡面。
表示式:((^o)|(n)|(e$)){2,}
我對它的理解是:開頭為 o、含有 n 或結尾為 e 三個條件裡至少有兩個為真。例如,one,
pne, onw, on, ne 都會 match 到,在網站上也是如此。
可是在 C++ 中,卻只有 one, on, ne 匹配到。
程式碼:https://pastebin.com/mnbSsfmn
想請教大大,到底哪裡出錯了?
作者: LPH66 (-6.2598534e+18f)   2019-02-25 05:59:00
這個意思是 (^o) (n) (e$) 三個東西有兩個以上併排另外還有就是你是比對全字串還是比對部份字串前者是 regex_match, 後者是 regex_search
作者: cutekid (可愛小孩子)   2019-02-25 21:11:00
推 L 大說明,看來是用了regex_match 全字串比對的問題

Links booklink

Contact Us: admin [ a t ] ucptt.com