Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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
使用QRegExp查找特殊字符之间字符串的正则表达式_Regex_Qt_Qregexp - Fatal编程技术网

使用QRegExp查找特殊字符之间字符串的正则表达式

使用QRegExp查找特殊字符之间字符串的正则表达式,regex,qt,qregexp,Regex,Qt,Qregexp,我想匹配下面字符串中的属性名称和属性值 #属性名称:属性值 Property Name和Property Value是单字/多字句子,仅包含数字和空格。没有特殊的字符 我尝试了(?尝试下面的正则表达式 ^#([a-zA-Z0-9 ]*) : ([a-zA-Z0-9 ]*)$ 此处演示:在我看来,这样更好: ^#\s*([^:::+?)\s*:\s*(.*?)\s*$ 为什么我的解决方案更好(相同的reg exp但更多的测试用例)。@Amen,谢谢,它很有效!但我不知道为什么(?我将等待问题的

我想匹配下面字符串中的
属性名称
属性值

#属性名称:属性值

Property Name
Property Value
是单字/多字句子,仅包含数字和空格。没有特殊的字符


我尝试了
(?尝试下面的正则表达式

^#([a-zA-Z0-9 ]*) : ([a-zA-Z0-9 ]*)$
此处演示:

在我看来,这样更好:

^#\s*([^:::+?)\s*:\s*(.*?)\s*$


为什么我的解决方案更好(相同的reg exp但更多的测试用例)。

@Amen,谢谢,它很有效!但我不知道为什么
(?我将等待问题的其他答案一段时间。谢谢。这也很有效!你能解释一下为什么你的表达式更好吗?因为我看到它处理了前导空格和尾随空格以及其他特殊字符。是吗?。提供更多数据,使其更加完美。非常棒的示例。再次感谢!它满足了我的所有要求t这现在不起作用。
QRegExp.isvalid()
返回
false
。因此正则表达式没有在qt中运行。但是它在在线正则表达式编辑器中工作。有什么帮助来解决这个问题吗?我敢肯定你弄乱了反斜杠。用完整的代码创建新问题,并在这里添加链接。在Qt5中注意:
QRegularExpression