推 Tabrith: powershell不能用||吧?還是新版可以了我不確定。 10/08 00:25
→ Tabrith: 再把if換回來 哈哈哈 10/08 00:26
→ Tabrith: 想到一個方法是你先把if(a||b)換成別的字串,然後換||, 10/08 00:26
→ Tabrith: 再把if換回來 哈哈哈 (上面漏推第二行直接跳到第三行了 10/08 00:28
→ Tabrith: (沒看到是.js文檔 第一行是我會錯意了) 10/08 00:30
但是我不能確保只有if這個規則是錯的,這只是一個舉例還有其他情況是
substr( -> substring(
這時候要分辨的是如果是javascript中的 "變數.substr(" 就不能修
在人工修的情況下,我能確保不出錯的規則是在vscode裡面綠色的字體
一定是我要修改的目標,綠色的字體是被 "" 包住後整串變綠的
推 LPH66: 一般來說這會需要抓「在字串裡的 ||」然後用 backref 代換 10/08 13:03
→ LPH66: 不過我不太確定 powershell 能不能做到這種代換... 10/08 13:03
不知道是什麼,我試著找看看
目前有bug勉強能用的代碼長這樣,BUG點在沒辦法判斷"是開頭還是結尾
if (a=="" || b=="") 中間的也會被替換
https://gist.github.com/hunandy14/f10d73d3ddaa2b0cb7daf863a06ff943
推 art1: '(?<=").*?\|\|.*?(?=")' 試看看 10/10 16:21
→ art1: '(?<=").*?(\|\|).*?(?=")' 忘了要替換了 XD 10/10 16:21
原來要加括號...我測好久都不行,用了個笨方法分三次抓。
推 art1: 若有類似樓上的例子,左邊 .*? 要改成排除左括號 [^(]*? 10/10 22:41
→ art1: 右邊 .*? 排除右括號 [^)]*? 看看 10/10 22:42
測試了一下好像也是不行,測試的範文在上面網址裡。還有什麼好方法嗎
推 asglay: 引號中的||編到有命名的group裡面 就可以存取該group 10/13 21:30
能再具體一點說明嗎
※ 編輯: hunandy14 (126.216.106.98 日本), 10/20/2021 16:40:23
推 art1: 如果是要替換 sql 引號內的||,那不如直接寫 sql = 較明確 10/23 09:08
推 art1: sql=".+?(\|\|).+?(\|\|).+?" 這句可以針對你給的那個新例子 10/23 09:12