无法使John Gruber的Web URL正则表达式与C ++ std :: regex一起使用

时间:2019-05-17 14:25:41

标签: c++ regex c++11 std

我正在尝试使用c ++ std::regex来验证URL。使用here中记录的John Gruber的Web URL匹配正则表达式的缩写形式(我只是缩短了它将接受的TLD列表),std::regex()引发了代码0x0e异常(我认为这是语法错误)

std::regex myRegEx(R"((?i)\b((?:https?:(?:/{1,3}|[a-z0-9%])|[a-z0-9.\-]+[.](?:com|net|org|edu|gov|mil)\b/?(?!@))))")

请注意,我使用的是c ++ 11原始字符串,以避免需要转义反斜杠。

我猜想c ++ regex引擎期望的语法与John的表达式使用的语法不同,但是我还不了解如何适应它。

我该怎么做才能使此正则表达式与std::regex一起使用?

0 个答案:

没有答案