标签: qregexp

QRegularExpression和QRegExp之间有什么区别吗?

我看到正则表达式有一个新类 - QRegularExpression.它只是QRegExp的typedef,还是新类,还是什么?为什么我们需要它,我们已经有了QRegExp?

c++ qt qregexp qt5

35
推荐指数
2
解决办法
8355
查看次数

Qt QLineEdit 输入验证

如何在 A 上设置输入验证器QLineEdit以将其限制为有效的 IP 地址?iexxxx 其中 x 必须介于 0 到 255 之间。并且 x 不能为空

validation qt qregexp input-mask qregularexpression

4
推荐指数
1
解决办法
1万
查看次数

如何替换字符串中的 QRegExp?

我有一个字符串。例如:

QString myString = "Today is Tuesday";
Run Code Online (Sandbox Code Playgroud)

要求是:当用户键入一个字符串时,如果该字符串包含在 中myString,则该部分myString应为粗体,不区分大小写(Qt::CaseInsensitive),但myString应保留的格式(大写字符应为大写和小写字符)应该是小写)。

例如:

  • 用户类型:tu- >今天是esday
  • 用户类型:ES- >今天是屠ES
  • 用户类型:aY- >托德AY就是Tuesd AY

这是我的功能:

void myClass::setBoldForMatching( const QString &p_text )
{
  QRegExp regExp( p_text, Qt::CaseInsensitive, QRegExp::RegExp );
  if ( !p_text.isEmpty() )
  {       
    if ( myString.contains( regExp ) )
    {
      myString = myString.replace( p_text, QString( "<b>" + p_text + "</b>" ), Qt::CaseInsensitive );
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这个函数是错误的,因为 …

c++ qstring qt qregexp

4
推荐指数
1
解决办法
1401
查看次数

需要帮助Qt中的正则表达式(QRegExp)[重复语法错误?]

void MainWindow::whatever(){
    QRegExp rx ("<span(.*?)>");
    //QString line = ui->txtNet1->toHtml();
    QString line = "<span>Bar</span><span style='baz'>foo</span>";
    while(line.contains(rx)){
        qDebug()<<"Found rx!";
        line.remove (rx);
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经使用这个工具在线测试了正则表达式.使用给定的正则表达式字符串和<span style="foo">Bar</span>工具的示例文本说它应该在字符串中找到正则表达式.但是,在我的Qt代码中,我永远不会进入我的while循环.

我以前从未用过Qt或任何其他语言的正则表达式.有人能提供一些帮助吗?谢谢!

[edit]所以我发现errorString()如果正则表达式无效,QRegExp有一个函数可以使用.我输出这个并看到:"糟糕的重复语法".不太确定这意味着什么.当然,谷歌搜索"糟糕的重复语法"提出了...这篇文章.该死的谷歌,你快.

c++ regex qt qregexp

2
推荐指数
1
解决办法
3849
查看次数

Qt从字符串中删除正则表达式

我有一个QString,我用""替换了"="和",".现在我想编写一个正则表达式,它将删除某个字符串的每次出现,紧接着是包含1到2个字符长数字的括号.例如:"mat(1)= 5,mat(2)= 4,mat(3)= 8"将变为"5 4 8"

所以这就是我到目前为止所做的:

text = text.replace("=", " "); 
text = text.replace(",", " "); 
text = text.remove( QRegExp( "mat\([0-9]{1,2}\)" ) );
Run Code Online (Sandbox Code Playgroud)

正则表达式不正确,我该如何修复它来做我想要的?谢谢!

qstring qt qregexp

2
推荐指数
1
解决办法
9322
查看次数

C++ Qt - {bracket}之间的QString remove()正则表达式

我尝试了以下正则表达式来删除括号之间的{anything}(希望括号本身)!

    mystr.remove(QRegExp("\\{(.*?)\\}"));
    mystr.remove(QRegExp("\{(.*?)\}"));
Run Code Online (Sandbox Code Playgroud)

什么都没有删除

c++ qstring qt qregexp qtcore

2
推荐指数
1
解决办法
3042
查看次数

使用QRegExp对double值进行正则表达式

我正在为QLineEdit写一个正则表达式检查器,我正在使用QRegExp.

我已经写了一个int值检查器:

QRegExp *expression_ = new QRegExp("^(0|[1-9]{1,1}[0-9]{0,9});
Run Code Online (Sandbox Code Playgroud)

但我有双重值的并发症,更具体,我不能分开这个数字的情况.FE 0.210或0.001.

请帮我实现双重值的此功能.提前致谢.

regex qt qregexp

2
推荐指数
2
解决办法
9771
查看次数

在 QLineEdit 中只写入浮点值

如何写入QLineEdit(0.0 - 5.0) 范围内的浮点数?我使用 qregexp 来完成这样的任务,例如QRegExp a("([a-zA-Z]{3,30})")写入用户名,但不知道写入浮点数。

c++ qt qregexp

2
推荐指数
1
解决办法
1万
查看次数

带哈希字符的正则表达式

我无法识别潜在的哈希字符.我使用以下模式来识别表单的文件:id-1321952010.xml.其中一些文件可能在id之前包含#:因此:#id-1321952010.xml也需要被选中.

目前我的初步案例是:

QRegExp rxLogFileFormat("\\b^[a-zA-Z]+\\-[0-9]{10,10}\\.[xml]{3,3}$\\b");
Run Code Online (Sandbox Code Playgroud)

我试过添加'#?' 在边界之前但无法使其正常工作,任何人都可以提供帮助.

c++ regex qt qregexp

1
推荐指数
1
解决办法
517
查看次数

如何从Qstring获得第一个单词

我想得到第一个字Qstring.

例如String1 = "Read from file1".我想提取string2 = "Read".我想基于空格提取子字符串.

如果我遇到我的第一个空格string1,我需要的那部分string1string2.

qstring qt qregexp

1
推荐指数
2
解决办法
8148
查看次数

正则表达式查找以##开头和结尾的单词

我正在使用##\b\S+?\b##正则表达式来查找以##开头和结尾的单词,该单词会找到以下内容,

##YourFriend##
Run Code Online (Sandbox Code Playgroud)

当单词之类的单词之间有空格时,此功能不起作用

##Your Friend##
Run Code Online (Sandbox Code Playgroud)

我需要一个在两种情况下都可以使用的正则表达式,可以找到两种情况,

 ##YourFriend##
 ##Your Friend##
Run Code Online (Sandbox Code Playgroud)

我尝试使用\swhich来查找空白,但是它不起作用。

c# regex asp.net qregexp

0
推荐指数
1
解决办法
1808
查看次数

使用QRegExp从URL中提取文件名

我有一个问题,我有一个RegEx,[^/\&\?] +.\ w {3,4}(?=([\?&].*$ | $)),但我无法得到它使用下面[1]中的功能.

[1] - http://doc.qt.io/qt-5/qregexp.html

这是我试过的代码:

QRegExp rx("[^/\\\\&\\?]+\\.\\w{3,4}(?=([\\?&].*$|$))", Qt::CaseInsensitive, QRegExp::RegExp);
std::ostringstream list;
int pos = 0;
while ((pos = rx.indexIn(url, pos)) != -1) {
    list << rx.cap(1).toStdString();
    pos += rx.matchedLength();
}

return list;
Run Code Online (Sandbox Code Playgroud)

它应该从URL中提取文件名,但只返回任何内容.我不确定出了什么问题.有人可以提供帮助吗?先感谢您.

c++ regex qt qregexp

0
推荐指数
1
解决办法
148
查看次数

标签 统计

qregexp ×12

qt ×11

c++ ×7

regex ×5

qstring ×4

asp.net ×1

c# ×1

input-mask ×1

qregularexpression ×1

qt5 ×1

qtcore ×1

validation ×1