我构造了一个简单的递归正则表达式:
a(?0)?
此正则表达式包含递归调用(?0)
。
它应该匹配一个字符串,其长度任意长度为' a'字符。
regex_match
仅返回true
以及#34; a"并且" aa",但未能匹配" aaa"和任何超过三个字符的字符串。
为什么?
我使用的是boost 1.45
答案 0 :(得分:0)
我联系了boost.regex的作者。 他告诉我那是一个错误。 任何递归调用都应该避免使用重复。 如(?N)?或(?N){x,y}