あなたの助けが必要です、
私は以下の機能を持っています。何が起こっているのかというと、実行時にネイティブ ファイル番号 (x) が XAI-2012-402518 に変更されますが、最後に -2 を追加し、その後毎回インクリメントするだけです。
望ましい結果は次のとおりですXAI-2012-402517-2
。XAI-2012-402518
通常、文字列にダッシュがなくても問題なく動作しますが、関数がダッシュを混乱させていると思います。
その他の例は次のとおりです。
filenumber -> filenumber-2
filenumber2 -> filenumber-3
XAI-2012-402517 -> XAI-2012-402517-2
XAI-2012-402517-2 -> XAI-2012-402517-3
XAI-2012-402517-3 -> XAI-2012-402517-4
など。
function test2(){
var x = "XAI-2012-402517"
x = x.replace(/^(.+?)(-\d+)?$/, function(a,b,c) { return c ? b+(c-1) : a+'-2'; } );
alert(x)
}