javascript 正则匹配 提取全部 preg_match_all matchAll方法

本文介绍了一种使用JavaScript实现类似PHP中preg_match_all()功能的方法,通过正则表达式匹配并提取HTML代码中的特定字符串,展示了如何在JavaScript中进行字符串匹配和解析。

javascript 提取所有的的方法,javascript中没有matchAll这个方法。

用while来实现类似 PHP 中的preg_match_all() :(by default7#zbphp.com)

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

<select name="AgentIdP" id="AgentIdP" onchange="selectNull('AgentIdI333');selectNull('GameId333');"></select>
<script type="text/javascript">
var html = document.getElementById('AgentIdP').getAttribute('onchange');
var exp = /selectNull\([\'"]{1}([\w-]+)[\'"]{1}\)/ig;
var result ;
while( (result = exp.exec(html))!= null){
	console.log(result);
}
console.log(html);
</script>
</body>
</html>



在不同的编程语言中,使用正则表达式匹配方法参数的方式会有所不同,以下是几种常见编程语言的示例。 ### Python 在 Python 中,可以使用`re`模块来进行正则表达式匹配。假设要匹配一个函数定义中的参数部分,以下是示例代码: ```python import re # 示例函数定义 function_def = "def my_function(param1, param2, param3=default): pass" # 正则表达式匹配参数部分 pattern = r'def\s+\w+\((.*?)\):' match = re.search(pattern, function_def) if match: params = match.group(1) print(params) ``` ### PHP 在 PHP 中,使用`preg_match`函数进行正则表达式匹配。示例如下: ```php <?php // 示例函数定义 $function_def = "function my_function(param1, param2, param3=default) { }"; // 正则表达式匹配参数部分 $pattern = '/function\s+\w+\((.*?)\)\s*{/'; if (preg_match($pattern, $function_def, $matches)) { $params = $matches[1]; echo $params; } ?> ``` ### JavaScriptJavaScript 中,可以使用`RegExp`对象或正则表达式字面量进行匹配。示例如下: ```javascript // 示例函数定义 const function_def = "function my_function(param1, param2, param3=default) { }"; // 正则表达式匹配参数部分 const pattern = /function\s+\w+\((.*?)\)\s*{/; const match = function_def.match(pattern); if (match) { const params = match[1]; console.log(params); } ``` ### 匹配规则说明 - `def`或`function`:匹配函数定义的关键字。 - `\s+`:匹配一个或多个空白字符。 - `\w+`:匹配一个或多个单词字符,用于匹配函数名。 - `\(`和`\)`:匹配左右括号。 - `(.*?)`:使用非贪婪匹配,捕获括号内的参数部分。 - `:`或`{`:匹配函数定义结束的符号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值