2011-06-07 94 views
1

我一直遇到需要增加變量的情況,但我還沒有想出一種方法來編寫腳本,所以我最終編寫了它的手工編寫,這是可怕的,當有大量的活動。我在this site上找到了一個我認爲可以工作的代碼,但是我的文本編輯器(TextWragler)不喜歡它(或者我沒有做正確的事情)。這是例子:grep/regex做迭代/增量

Initial Contents: Var22 Var20 Var86 Var30 
Search String:  Var*[0-9] 
Replace String:  Var%1>49> 
Results: Var50 Var51 Var52 Var53 


替換字符串只是返回自身。

我打算用它來增加沿着線的東西:x的值應更換爲X1,X2,X3或其他一些「串」 + N

<span id="x">something</span> <span id="x">else</span> <span id="x">entirely</span> 

。如果它能夠識別並重新編號像grep代碼所暗示的錯誤編號的變量,那將是理想的。
任何想法如何使這項工作?我可以不使用textWrangler嗎?由於

在一個側面說明,我想在javascript來獲得更好的,我來真的很好奇我怎麼能實現這樣的事情(字符串的grep /遞增)到一個javascript?

回答

2

不知道你想要什麼,但如果你想申請上「無功」後說的數字部分的(算術運算或其他)的操作,你可以像使用委託函數

'Var22 Var20 Var86 Var30' 
    .replace(/(Var)(\d+)/g, 
      function(a,b,c){return b+(Number(c)+10)} 
      ); //=> Var32 Var30 Var96 Var40 

做些什麼在JavaScript的正則表達式% -sign是$和匹配的指數從1開始。如果你只是想用9替換「Var12`數,它看起來像這樣:

'Var12'.replace(/(Var)(\d+)/,'$19'); //=> Var9 
//  Var (=$1) ^^^ ^1 or more numbers (=$2) 

This webpage給你更多INF ormation約javascript正則表達式

+0

我對此很新穎。我怎樣才能使用你剛寫的東西? – kugyousha 2011-06-07 21:28:46

+0

+1,用於回調的良好使用。你能解釋你的意思嗎?在javascript正則表達式中%-sign是$',或者建議一個鏈接?那對我來說是新的。 – 2011-06-08 00:49:29

+0

@Justin Morgan:我的回答中包含了一個鏈接。 – KooiInc 2011-06-08 00:52:35