Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.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++ Boost:如何使用\\+;在C POSIX正则表达式接口中_C++_Regex_Boost_Boost Regex - Fatal编程技术网

C++ Boost:如何使用\\+;在C POSIX正则表达式接口中

C++ Boost:如何使用\\+;在C POSIX正则表达式接口中,c++,regex,boost,boost-regex,C++,Regex,Boost,Boost Regex,我正在尝试使用BOOST.Regex POSIX兼容的C API。我使用regcomp()匹配像a\+这样的表达式,它应该匹配aa和aaa,同时使用cflags=REG\u BASIC。我有regcomp(reg,“a\\+”,reg\u BASIC)但它不工作 我发现一个声明,\+不是POSIX标准的一部分。但我在一个支持\+语法的Emacs变体中找到了它 如何在POSIX基本正则表达式中使用\+?或者换句话说,启用Emacs变体 参考资料: 您不需要+量词,因为您可以使用\{1,\}

我正在尝试使用BOOST.Regex POSIX兼容的C API。我使用
regcomp()
匹配像
a\+
这样的表达式,它应该匹配
aa
aaa
,同时使用
cflags=REG\u BASIC
。我有
regcomp(reg,“a\\+”,reg\u BASIC)
但它不工作

我发现一个声明,
\+
不是POSIX标准的一部分。但我在一个支持
\+
语法的Emacs变体中找到了它

如何在POSIX基本正则表达式中使用
\+
?或者换句话说,启用Emacs变体

参考资料:


您不需要
+
量词,因为您可以使用
\{1,\}
\+
是某些POSIX正则表达式实现的扩展(如GNU-sed),并且不可移植。如果您计划使用
emacs
“flavor”,请使用
boost::regex::emacs
并享受
+
@WiktorStribiżew实际上我使用的是POSIX兼容的C API,因为API是从C代码调用的。有没有一种方法可以使用c代码中的
boost::regex::emacs
呢?看来你需要的是
REG\u EXTENDED
而不是
REG\u BASIC