作者a2975313 (GN)
看板C_and_CPP
标题[问题] regex如何执行lookbehind语法
时间Mon May 1 17:47:07 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
windows
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vc++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
我的正规式是↓ 主要用来过滤出javascript语法中的函式呼叫
(?<!function\s)(?!if|while|for|switch|function)\b\w+(?=\s*\()\([^\)]*\)
锁定的格式是identifier(), 但须避掉function identifier(){..}, 因为这是函式定义.
我发现std::regex_match无法执行lookbehind的语法(?<!...), 但(?!...)就可以.
除了使用boost.regex之外还有没有其他办法?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.173.169.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1493632030.A.EE4.html