作者nevikw39 (☆牜攵☆犬羊)
看板C_and_CPP
标题[问题] 关於正规表示式
时间Sun Feb 24 09:18:37 2019
如题,最近开始练习正规表示式
我先在 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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1550971120.A.1BC.html
1F:推 LPH66: 这个意思是 (^o) (n) (e$) 三个东西有两个以上并排 02/25 05:59
2F:→ LPH66: 另外还有就是你是比对全字串还是比对部份字串 02/25 05:59
3F:→ LPH66: 前者是 regex_match, 後者是 regex_search 02/25 06:00
4F:推 cutekid: 推 L 大说明,看来是用了regex_match 全字串比对的问题 02/25 21:11