作者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/m.aspx?n=bbs/C_and_CPP/M.1493632030.A.EE4.html