-3
我正在嘗試查找字符串數組中的URL。正則表達式查找URL
這是我的代碼:
if((reti = regcomp(®, "/^(https?:\/\/)?([\w\.]+)\.([a-z]{2,6}\.?)(\/[\w\.]*)*\/?$/", 0)) == 0)
{
for(i = 0; i < argc; ++i)
{
cout << argv[i] << endl;
cout << "lllll" << endl;
reti = regexec(®, argv[i], 0, NULL, 0);
if(!reti)
{
regfree(®);
return static_cast<string>(argv[i]);
}
}
}else
{
cerr << "Cannot compile regex" << endl;
exit(1);
}
regfree(®);
但它無法找到URL,可能有人解釋我是哪裏錯了嗎?
嗚!這是一個正則表達式!你可以在這裏看到(https://regex101.com/r/gZ0kE2/2),但是我們不能做太多的事情,但是直到你給我們一些樣本數據。請將它粘貼到OP中。 –
看着你的代碼,沒有辦法編譯正確,因爲你使用'regex.h'頭,它不需要'/'作爲分隔符。此外,您需要在字符串文字中將\ \加倍,否則,正則表達式引擎不會看到它。另外,'\ w'不適用於所有使用POSIX regex實現的系統。我無法理解爲什麼你接受下面的答案。 – nhahtdh