,所以我有一個這樣的字符串:正則表達式選擇另一種選擇
var a = " 'asdf'+'asdf'+'we' + 1";
我能夠與選擇三個報價:
'([^']*)'
如何選擇單引號的開始(')在字符串中使用正則表達式? 也是一個單獨的正則表達式來選擇單引號(')的結尾?這可能與正則表達式?我將用< <取代報價的開頭。
最終字符串像
" <<asdf'+<<asdf'+<<we' + 1"
,所以我有一個這樣的字符串:正則表達式選擇另一種選擇
var a = " 'asdf'+'asdf'+'we' + 1";
我能夠與選擇三個報價:
'([^']*)'
如何選擇單引號的開始(')在字符串中使用正則表達式? 也是一個單獨的正則表達式來選擇單引號(')的結尾?這可能與正則表達式?我將用< <取代報價的開頭。
最終字符串像
" <<asdf'+<<asdf'+<<we' + 1"
當你需要更換隻有一個模式,使用捕獲組輪,你需要保持部分的某些部分,而只是比賽(和消費)你所需要的部件去除。
var a = " 'asdf'+'asdf'+'we' + 1";
console.log(
a.replace(/'([^']*')/g, '<<$1')
);
// And, to replace both ' in one go (notice the) shift to the left):
console.log(
a.replace(/'([^']*)'/g, '<<$1>>')
);
這裏,
'
- 比賽和消耗'
([^']*')
- 比賽和捕獲成1組零個或多個字符以外'
(與[^']*
)然後是'
。替換模式中的$1
是在找到有效匹配後存儲在組1中的內容的佔位符。([^']*)
- 只會捕獲除'
之外的任何0+字符,因此最終的'
會被匹配並消耗,並且在$1
佔位符內容中將丟失。此外,請參閱regex demo 1和regex demo 2。
我懷疑你真的需要那個。你需要在這裏完成的最終目標是什麼?改變'a'看起來像....? –
@Wiktor:我試圖在開始時替換爲<<,因此最終的字符串將如下所示: 「<< asdf'+ << asdf'+ << we'+ 1」 – wonghenry
我知道我可以使用javascript來輕鬆完成,只是想看看我是否可以用正則表達式來實現。 – wonghenry