qt - Qt QRegExp 用锚定 URL替换字符串中的所有URL
问问题
1401 次
2 回答
2
好的。知道了。
QRegExp regExp("((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((?:\\/[\\+~%\\/\\.\\w\\-]*)?\\??(?:[\\-\\+=&;%@\\.\\w]*)#?(?:[\\.\\!\\/\\\\\\w]*))?)");
QString result = myOriginalString.replace(regExp, "<a href='\\1'>\\1</a>" );
为了谁可能对此感兴趣,我将把问题/答案留在这里。
于 2013-01-31T21:33:38.507 回答
0
我不会为你写你的正则表达式。但是,Qt 4 附带了一个工具,它可以帮助很多人编写一个,您也可以自己编译它。
或者,您的 Qt 安装中应该包含一组示例和演示(在 Windows 上,转到开始 -> Qt 示例和演示)。启动示例应用程序并导航到工具(第二页)-> 正则表达式。单击启动并按照说明进行操作。
使用该演示来帮助您编写一个,遵循文档中的指南。特别是,查看捕获文本、通配符匹配和字符集部分。
于 2013-01-31T20:27:58.307 回答