我正在尝试使用以下模式匹配存储在变量中的某些文本的google url。

网址使用双引号

QRegExp regExp;
regExp.setPattern("http://www.google.com/(.*)");

我设法匹配了该URL,但它毫无疑问地匹配了它之后包含的所有文本。我尝试使用类似下面的变体,但它们似乎不起作用。
regExp.setPattern("http://www.google.com/(.*)\"is");
regExp.setPattern("http://www.google.com/^(.*)$\"");

获得仅与url匹配的正则表达式的任何帮助。

提前致谢

最佳答案

即使我们无法知道您的文本中的网址(引号,括号或空白)是什么,我们也可以通过尝试对不属于网址的字符进行负匹配来创建更好的正则表达式:

QRegExp regExp;
regExp.setPattern("http://www.google.com/([^()\"' ]*)");

然后,您只需要向此否定字符类添加更多可能的字符。

关于c++ - URL的QRegExp模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12287282/

10-13 07:03