JavaScript正则表达式匹配

时间:2014-08-08 02:03:53

标签: javascript regex

当我对服务器使用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);

任何人都可以告诉我,我的模式有什么不对吗? 提前致谢

3 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

FunctionName.*?,\s*(\w+)

<强> Working demo

enter image description here

答案 1 :(得分:1)

只有当()之间没有空格时,您的正则表达式才会匹配。由于参数之间有空格,因此不匹配。尝试:

var forTest = ajaxResultStr.match(/FunctionName\([^,]+,\s*([^,]+),.*\)/);

forTest[1]将包含第二个参数。

答案 2 :(得分:0)

RegEx你可以使用

FunctionName\((.+?),(.+?),

Demo

结果的最后一个元素是你的输出。

//output
//["FunctionName(11111, 22222,", "11111", " 22222"]