C++将Python正则表达式转置为PCRE

2024-05-13 05:25:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用pCRE-CPP包装器把我在Python中编写的正则表达式转换成C++。你知道吗

我的原始python代码执行以下操作:

self.reg = re.compile('(?<![/,\-\s])\s+(?![/,\-\s])')

myfields = self.reg.split(line_of_text)
...

我尝试创建一个pcrecpp reg exp,如下所示:

pcrecpp::RE reg("(?<![/,\\-\\s])\\s+(?![/,\\-\\s])");

但它不起作用。我是说PartialMatch()和FullMatch()不起作用。 此外,我还没有找到一个方法来做类似于python的事情重新拆分(). 我对PCRE不是很有经验。有具体的语法吗?你知道吗

有什么反馈吗?你知道吗

谢谢。你知道吗

z


Tags: oftextselfrelineregcppsplit
2条回答

避开前斜杠。你知道吗

像这样:

(?<![\/,\-\s])\s+(?![\/,\-\s])

pcrecpp::RE类使用/作为分隔符(我相信。。)。语法与Perl非常相似

所以你很可能需要避开正斜杠来解决你的问题。你知道吗

pcrecpp::RE re("(?<![\\/\\s,-])\\s+(?![\\/\\s,-])").PartialMatch("foo bar")

相关问题 更多 >