使用regexr工具识别(weat)她

时间:2017-05-16 06:17:04

标签: php regex

我正在使用此工具http://regexr.com/3fvg9 我想在regexxr工具中标记这个(weat)她。

UpgradeMessageDialog* umd = new UpgradeMessageDialog();
umd->ui->label->setOpenExternalLinks(true);
umd->ui->label->setTextInteractionFlags(Qt::TextBrowserInteraction);
umd->ui->label->setText("<a href='mailto:user@foo.com?subject=Test&body=Just a test'>My link</a>");
umd->exec();
umd->ui->label->connect(umd->ui->label,
    SIGNAL(linkActivated(const QString&)), umd,
            SLOT(linkOpen(const QString&)));

请帮帮我。

1 个答案:

答案 0 :(得分:1)

由于没有办法用正则表达式检查单词是否“已知”,我建议先提取所需的这些部分,然后使用一种拼写字典来检查单词是否正确。它不会100%准确,但仍然优于纯正则表达式。

用括号提取粘合词的部分所需的表达式是

(?|([a-zA-Z0-9]+)\(([a-zA-Z\s]+)\)|\(([a-zA-Z\s]+)\)([a-zA-Z0-9]+))

请参阅支持PHP正则表达式的regex demo at regex101

正则表达式匹配分支重置组内的2个备选项,其中不同分支中的所有捕获组都以相同的ID开头编号:

  • ([a-zA-Z0-9]+)\(([a-zA-Z\s]+)\) - 第1组(([a-zA-Z0-9]+))匹配1个以上的字母数字字符,然后是(,然后是第2组(([a-zA-Z\s]+))匹配1+个字母和空格,然后匹配)
  • | - 或
  • \(([a-zA-Z\s]+)\)([a-zA-Z0-9]+) - (,然后第1组(([a-zA-Z\s]+))匹配1+个字母和空格,),然后是第2组(([a-zA-Z0-9]+))匹配1个以上的字母数字字符