是否可以使用正则表达式替换来增加数字?当然,不使用评估/基于功能的替换.
这个问题的灵感来自另一个问题,其中提问者希望在文本编辑器中增加数字.可能有更多的文本编辑器支持正则表达式替换,而不是支持全脚本编写的文本编辑器,因此如果存在正则表达式,则可以方便地使用正则表达式.
而且,我经常从聪明的解决方案中学到整齐的东西,几乎无用的问题,所以我很好奇.
假设我们只讨论非负十进制整数,即\d+.
是否有可能在一次替换?或者,有限数量的替换?
如果没有,是否至少可以给出一个上限,例如数字高达9999?
当然,它是可行的,给定一个while循环(在匹配时替换),但我们在这里寻求无循环解决方案.
我的textarea的id是字符串和这种格式
ID = '费舍尔[27] .MAN'
我想克隆textarea并增加数字并获取id,fisher[28].man并将其添加到现有的textarea.
有没有办法用jquery轻松完成这项工作?
var existingId = $("#at textarea:last").attr('id');
var newCloned = lastTextArea.clone();
var newId = newCloned.attr('id');
//add the index number after spliting
//prepend the new one to
newCloned.prepend("<tr><td>" + newCloned + "</td></tr>");
Run Code Online (Sandbox Code Playgroud)
必须有更简单的克隆方法,获取索引号,拆分和前置.
我也尝试用regEx做到这一点
var existingIdNumber = parseInt(/fisher[(\d+)]/.exec(s)[1], 10);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我吗?
我有一个以下格式的字符串:
\main\stream\foo.h\3
Run Code Online (Sandbox Code Playgroud)
它可能有更多或更少的"部分",但总是以斜杠后跟一个整数结束.其他例子包括:
\main\stream2309\stream222\foo.c\45
\main\foo.c\9
Run Code Online (Sandbox Code Playgroud)
我需要在Perl中增加字符串末尾的数字,然后单独留下其余部分.我发现这个网站上的一个例子正是我想要做的(请参阅使用正则表达式增加字符串中的数字)只有语言是Javascript.给出的解决方案是:
.replace(/\d+$/,function(n) { return ++n })
Run Code Online (Sandbox Code Playgroud)
我需要在Perl中做同样的事情.
今天我有点辛苦了:
function mk_input( name, val ) {
var inp = document.createElement( 'input' );
inp.name = name;
inp.value = val;
inp.type = 'hidden';
return inp;
}
Run Code Online (Sandbox Code Playgroud)
事实证明,设置name通过创建的元素createElement在IE中不起作用.它不会导致错误或任何事情,它只是默默地失败,导致人们思考为什么他们的隐藏字段没有正确填充.
据我所知,没有解决方法.你必须咬住子弹并<input>通过字符串操作创建标签并将其粘贴在其中.innerHTML.
有没有更好的办法?也许像jQuery这样的东西?我做了一个粗略的搜索,并没有找到任何与createElementJQuery 完全类似的东西,但也许我错过了一些东西.