当我对服务器使用AJAX查询时,它返回我的字符串值。此字符串具有预定义格式,如:
1|#||4|2352|updatePanel|updatePanelID
<table style="width:100%">
<tr>
<td>
</td>
</tr>
</table>
<table id="requiredTable"/>
<tbody>
<tr>
<th>column1</th>
<th>column2</th>
</tr>
<tr style="cursor:pointer" onclick="FunctionName(11111, 22222, 3);">
<td>trColumn1Info</td>
<td>trColumn2Info</td>
</tr>
some other information
我想通过正则表达式获取FunctionName的第二个参数值。我试着使用下一个regexp,但它总是返回null:
var forTest = ajaxResultStr.match(/FunctionName\((\S*)\)/g);
alert(forTest);
任何人都可以告诉我,我的模式有什么不对吗? 提前致谢
答案 0 :(得分:1)
答案 1 :(得分:1)
只有当(
和)
之间没有空格时,您的正则表达式才会匹配。由于参数之间有空格,因此不匹配。尝试:
var forTest = ajaxResultStr.match(/FunctionName\([^,]+,\s*([^,]+),.*\)/);
forTest[1]
将包含第二个参数。
答案 2 :(得分:0)
RegEx你可以使用
FunctionName\((.+?),(.+?),
结果的最后一个元素是你的输出。
//output
//["FunctionName(11111, 22222,", "11111", " 22222"]