我一直在尝试使用此正则表达式/(['])((?:(?!\1)[^\\]|(?:\\\\)*\\[^\\])*)\1/
来收集来自GET
响应的“变量”列表数组。
字符串如下:
"var chatbox_messages='<p class="chatbox_row_1 clearfix"><span title="17 Feb 2014">[20:46:07]</span> <span style="font-style:italic">You are disconnected.</span></span></p>';var chatbox_memberlist='<h4 class="member-title online">Online</h4><ul class="online-users"><li><a href="/u1" oncontextmenu="return showMenu(1,'Admin',1,2,1,2,1,event,'');" onclick="return copy_user_name('Admin');" target="_blank"><span style="color:#000099"><strong>@</strong></span> <span style="color:#000099"><strong>Admin</strong></span></a></li></ul>';var chatbox_last_update=1392687967.7403; "
上面的字符串只是有x溢出而且很烦人......
无论如何,在我之前编写此代码的用户使用的是eval
而我没有使用eval所以我正在尝试修复代码并获取参数以便我可以这样做
var response = responseText.match(/(['])((?:(?!\1)[^\\]|(?:\\\\)*\\[^\\])*)\1/g);
var message = response[0];
var second_message = response[1];
虽然我使用的正则表达式都没有得到我所需要的!它要么将变量与字符串分离成数组的片段,要么仍然抓住第一个引号'
,我根本不想要它们......
任何人都可以帮助我或引导我朝着正确的方向前进。
答案 0 :(得分:0)
在你的比赛中这样做:
var newMatchWithoutQuotes=match.replace("'","");
这将删除引号;
答案 1 :(得分:0)
我相信你的意思是逃避双引号:
"var chatbox_messages='<p class=\"chatbox_row_1 clearfix\"><span title=\"17 Feb 2014\">[20:46:07]</span> <span style=\"font-style:italic\">You are disconnected.</span></span></p>';var chatbox_memberlist='<h4 class=\"member-title online\">Online</h4><ul class=\"online-users\"><li><a href=\"/u1\" oncontextmenu=\"return showMenu(1,'Admin',1,2,1,2,1,event,'');\" onclick=\"return copy_user_name('Admin');\" target=\"_blank\"><span style=\"color:#000099\"><strong>@</strong></span> <span style=\"color:#000099\"><strong>Admin</strong></span></a></li></ul>';var chatbox_last_update=1392687967.7403; "
如果字符串始终以';
结尾,则可以使用此正则表达式:
/'.*?';/