gpt4 book ai didi

php - 用于匹配函数 sintaxe em PHP 的正则表达式

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:21 26 4
gpt4 key购买 nike

我正在用 PHP 开发解析器,我需要一个函数式正则表达式来验证包含函数的字符串。

只是为了理解,我会考虑使用 preg_replace_callbackcreate_function 来执行函数并递归地替换字符串中的值;

字符串示例:15 + func1 ("gis", 22, func (55), 87) + 95 + func2 () + 35

正则表达式应该能够结合所有函数 func1 并加入 func 2。正则表达式 (([^ ()])+([ ]?)*\(.*\))* 正在输出 func1 ("gis", 22, func (55), 87) + 95 + func2 () 仅作为一个函数。这是错误的,因为“95”不在任何函数中。正则表达式还必须能够处理函数,例如 func1 中的角色。

感谢任何帮助。

最佳答案

考虑使用 PHP 的内置分词器,而不是使用正则表达式:

http://www.php.net/manual/en/function.token-get-all.php

$tokens = token_get_all('<?php 15 + func1 ("gis", 22, func (55), 87) + 95 + func2 () + 35; ');

这将返回 parser tokens 的数组您可以使用它来将函数与其参数匹配。

关于php - 用于匹配函数 sintaxe em PHP 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com