Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.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/4/regex/17.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
C++ 正则表达式中的怪异_C++_Regex_Boost - Fatal编程技术网

C++ 正则表达式中的怪异

C++ 正则表达式中的怪异,c++,regex,boost,C++,Regex,Boost,我尝试了以下正则表达式: 模式:([0-9])+([0-9]{1,3}([.][0-9]{3})+)|([0-9]+) 我的目标是匹配任何后跟指定数字的字符串(不包括数字),例如MG2999、dasdassa33232 我使用了上面的正则表达式 奇怪的是: V375(不匹配) Vv375(匹配) VV375(不匹配,但第一个字符不匹配) VV375(匹配) 我不明白为什么第一个角色总是不匹配。我需要你的帮助吗 要进行快速测试,请尝试: 提前谢谢 -- Vu(..[^[0-9])+)匹配任何字符

我尝试了以下正则表达式:

模式:([0-9])+([0-9]{1,3}([.][0-9]{3})+)|([0-9]+)

我的目标是匹配任何后跟指定数字的字符串(不包括数字),例如MG2999、dasdassa33232

我使用了上面的正则表达式

奇怪的是:

V375(不匹配)

Vv375(匹配)

VV375(不匹配,但第一个字符不匹配)

VV375(匹配)

我不明白为什么第一个角色总是不匹配。我需要你的帮助吗

要进行快速测试,请尝试:

提前谢谢

-- Vu

(..[^[0-9])+)
匹配任何字符(
),后跟除数字和
[
以外的任何字符

您可能希望
[^0-9]+
在这里–或者更简单地说,
\D+


其余的正则表达式也有类似的问题,但由于我不知道要匹配的数字格式,因此无法更正。

“匹配字母字符串后跟数字”:
[a-zA-Z]+\d+
您的模式不包括Unicode字符。我的数字也有点不同。我的模式错了吗?您要求的是字母字符。Unicode字符不一定是字母字符。您的模式考虑了带小数的数字,但您的示例中没有一个显示它是必需的,所以我去掉了该部分。是的,我认识到我的错误e、 实际上,([^0-9])+(([0-9]{1,3}([.][0-9]{3})+)|([0-9]+)可以正确地使用Boost.regex。谢谢!