2011-06-07 93 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