[問題] 關於正規表示式

看板C_and_CPP作者 (☆牜攵☆犬羊)時間6年前 (2019/02/24 09:18), 編輯推噓2(202)
留言4則, 2人參與, 6年前最新討論串1/1
如題,最近開始練習正規表示式 我先在 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 想請教大大,到底哪裡出錯了? -- Sent from my Sony Xperia XZ1 PiTT // PHJCI -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.107.176.158 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1550971120.A.1BC.html

02/25 05:59, 6年前 , 1F
這個意思是 (^o) (n) (e$) 三個東西有兩個以上併排
02/25 05:59, 1F

02/25 05:59, 6年前 , 2F
另外還有就是你是比對全字串還是比對部份字串
02/25 05:59, 2F

02/25 06:00, 6年前 , 3F
前者是 regex_match, 後者是 regex_search
02/25 06:00, 3F

02/25 21:11, 6年前 , 4F
推 L 大說明,看來是用了regex_match 全字串比對的問題
02/25 21:11, 4F
文章代碼(AID): #1SSV3m6y (C_and_CPP)