[問題] regex_replace取代非comment內的內容
問個regular expreesion的問題 因為試了很久還是找不到解
現在想用regex_replace去取代SQL query內的某個字串,條件是那個字串不在註解內
因為SQL的註解寫法有一行的--或#
多行的/* ... */
然後C++的regex只支援lookahead 處理一行註解還可以,但是多行的就會有問題
目前寫的regex 長這樣 : ^(?:(?!\-\-)(?!\#).)*取代的字串regex
大致上就是遇到--或是#就assert不處理,這樣可以有效跳過單行註解
用類似的邏輯想處理多行註解時就會遇到問題
^(?:(?!\-\-)(?!\#)(?!\/\*).)*取代的字串regex
因為query可能會長得像SELECT * /*註解*/ from table where...
會導致一遇到/*後面的東西也都不繼續處理
試了半天還是想不到除了先把/*...*/從input query中去掉的解
不知道有沒有版友有類似的經驗可以用C++支援的regex語法處理跳過這種情況做replace
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 80.57.62.150
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1538913565.A.D1F.html
推
10/07 20:26,
6年前
, 1F
10/07 20:26, 1F
→
10/07 20:26,
6年前
, 2F
10/07 20:26, 2F
→
10/07 20:27,
6年前
, 3F
10/07 20:27, 3F
推
10/07 20:31,
6年前
, 4F
10/07 20:31, 4F
→
10/07 20:32,
6年前
, 5F
10/07 20:32, 5F
→
10/07 20:34,
6年前
, 6F
10/07 20:34, 6F
→
10/07 20:34,
6年前
, 7F
10/07 20:34, 7F
推
10/07 20:38,
6年前
, 8F
10/07 20:38, 8F
→
10/08 06:29,
6年前
, 9F
10/08 06:29, 9F
※ boy770329:轉錄至看板 RegExp 10/08 06:30
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):