Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const QString tempstring1 = "^"
- // Identifier for http and ftp
- "(?:(?:https?|ftps?)://)?"
- // user:pass authentication
- "(?:\\S+(?::\\S*)?@)?"
- "(?:"
- // IP address dotted notation octets
- // excludes loopback network 0.0.0.0
- // excludes reserved space >= 224.0.0.0
- // excludes network & broacast addresses
- // (first & last IP address of each class)
- "(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])"
- "(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}"
- "(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))"
- "|"
- // host name
- "(?:(?:[_a-z\\x{00a1}-\\x{ffff}0-9]-*)*[a-z\\x{00a1}-\\x{ffff}0-9]+)"
- // domain name
- "(?:\\.(?:[a-z\\x{00a1}-\\x{ffff}0-9]-*)*[a-z\\x{00a1}-\\x{ffff}0-9]+)*"
- // TLD identifier
- "(?:\\.(?:[a-z\\x{00a1}-\\x{ffff}]{2,}))"
- "\\.?"
- ")"
- // port number
- "(?::\\d{2,5})?";
- QRegularExpression getDomain(tempstring1, QRegularExpression::CaseInsensitiveOption);
- QString tempString = string;
- QStringList list1 = tempString.split(getDomain);
- QString lowercaseLinkString = list1[0].toLower() + list1[1];
- link = Link(Link::Url, linkString);
- textColor = MessageColor(MessageColor::Link);
- this->emplace<TextElement>(lowercaseLinkString, TextElement::LowercaseLink,
- textColor)
- ->setLink(link);
- this->emplace<TextElement>(string, TextElement::OriginalLink, textColor)
- ->setLink(link);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement