Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用RegEx在Qt中的分隔符字符之间查找substr_Regex_Qt_Substring - Fatal编程技术网

使用RegEx在Qt中的分隔符字符之间查找substr

使用RegEx在Qt中的分隔符字符之间查找substr,regex,qt,substring,Regex,Qt,Substring,我需要在Qt中获取字符串中的子字符串,但有一些细节: 我需要的子字符串由[和] 子字符串可能有一些不可预测的字符,如/,^,-。此子字符串基本上描述了一个测量单位 此外,除了获取子字符串本身,我还需要进行测试,以检查字符串中是否存在这样的子字符串 我对正则表达式一无所知,而且我对Qt也是新手。我在这里找到的大多数示例都没有向Qt报告和/或没有明确说明我需要什么 QRegExp exp("\\[([^\\]]+)\\]"); QString s1 = "5 [sm^2]"; qDebug()

我需要在Qt中获取字符串中的子字符串,但有一些细节:

  • 我需要的子字符串由
    [
    ]
  • 子字符串可能有一些不可预测的字符,如
    /
    ^
    -
    。此子字符串基本上描述了一个测量单位
此外,除了获取子字符串本身,我还需要进行测试,以检查字符串中是否存在这样的子字符串

我对正则表达式一无所知,而且我对Qt也是新手。我在这里找到的大多数示例都没有向Qt报告和/或没有明确说明我需要什么

QRegExp exp("\\[([^\\]]+)\\]");
QString s1 = "5 [sm^2]";
qDebug() << exp.indexIn(s1);
qDebug() << exp.capturedTexts();
如果字符串的任何部分都与regexp不匹配,
indexIn
将通过返回-1来指示。否则,结果将>=0,
capturedTexts()[1]
将包含括在括号中的文本

2 
("[sm^2]", "sm^2")