我阅读了有关此代码答案的答案
function delete_subscriber(){
var id=this.href.replace(/.*=/,'');
this.id='delete_link_'+id;
if(confirm('Are you sure you want to delete this subscriber?'))
$.getJSON('delete.php?ajax=true&id='+id, remove_row);
return false;
}
但我希望通过正则表达式读取的值是第一个等号或中间等号不是最后一个 例如,我想要的价值 “我之前是一些文字”或“我介于两者之间” 从下面一行
"I am some text before=and I am in between=and I am after"
答案 0 :(得分:1)
我建议使用split
而不是正则表达式:
var parts = this.href.split('=');
var id = parts[0]; //before first = "I am some text before"
var id = parts[1]; //after first = "and I am in between"
var id = parts[2]; //after second = "and I am after"
如果您想要第一个=符号前后的文字:
var id = this.href.split('=').splice(0, 2).join('='); //I am some text before=and I am in between
答案 1 :(得分:1)
问题是原始模式.*
中.*=
的贪婪。
有两种方法可以解决这个问题:
.*?=
代替[^=]*=
.*?
and .*
for regex(带有说明性示例的长答案)