2017-08-01 84 views
-2

我試圖讓"123""123" => "abc"正則表達式匹配的第一個也是唯一字符/符號

我正則表達式 /\".*\"/g

不知何故這是不行的,它擦肩而過,最後"

+1

你的問題是很難理解你想要什麼。請澄清。 –

+0

@AururRahmanMunna我試圖在「123」中獲得「123」=>「abc」 –

+0

這就是你在你的問題中所說的。 –

回答

0

諸如此類的東西可能有效:

var pat = "(\\\".*\\\")\\s=>.*" ; 
var rex = new RegExp(pat, "gim") ; 
var rep = "$1" ; 
var res = txt.replace(rex, rep) ; 
console.log(res) ; 

輸出

"123" 

源字符串是var txt ......

+0

不能很好地工作,如果我的來源是這樣的,https://pastebin.com/abwRUC3J不一致。 –

+0

@JessieAnderson:你應該已經發布了這個信息開始......無論如何改變'\\ s'到'\\ s *'應該允許它工作。 –

+0

但它也沒有排除這些'<?php 返回數組('字符?我要遍歷左邊塊的長度 –

0

使用下面的正則表達式,並率先拿到賽:

\".*?\"

*?量詞 - 匹配零和無限倍之間,如幾次儘可能,擴大根據需要

例子:https://regex101.com/r/yBFSEO/1/

注:第一場比賽將返回匹配字符串的左側。

+0

這不會如果目標是「123」=>「abc別的東西」 –

0

嘗試.*?(\"\d{3}\")

https://regex101.com/r/C70DL9/3


enter image description here


enter image description here


或者你可以

.*?(\"\d{3}\")?和替代$1

enter image description here

+0

對於「」1234「=>」右邊塊「」,應該選擇「」1234「」。 –

0

試試這個:

^\ 「* \。?」

您需要斷言行的開頭^。然後添加一個懶惰的量詞

+0

http://regexr.com/3gfh6 nope –

+0

現在你的評論中的問題是引用的部分不再從最左邊開始,加上引用的部分是不同的;這裏有一段時間,所以現在,你需要這個:\「 。* \。\ w + \」 – user3044148

相關問題