如何使用正则表达式(递归?)匹配嵌套函数调用(括号对)

2023-12-15

我正在寻找一个正则表达式 (**) 来匹配未知数量的嵌套函数。 所以

expression
function(expression)
function(function(expression))
function(function(function(expression)))
etc.

都会匹配成功。但例如,如果我在末尾添加一个额外的右括号,它将不会包含在匹配中。

(**) 请不要回答说通过解析(和计算括号)比使用正则表达式更容易做到这一点——在挠头一段时间后我已经知道了!


我正在寻找一个正则表达式 (**) 来匹配未知数量的嵌套函数。

某些正则表达式实现支持递归匹配(Perl、PHP、.NET),但 JavaScript 不支持。所以,你的问题的答案是:不,这是不可能的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用正则表达式(递归?)匹配嵌套函数调用(括号对) 的相关文章

  • 如何使用 JavaScript 创建链接?

    我有一个标题字符串和一个链接字符串 我不知道如何将两者放在一起以使用 JavaScript 在页面上创建链接 任何帮助表示赞赏 我试图解决这个问题的原因是因为我有一个 RSS 源并且有一个标题和 URL 列表 我想将标题链接到 URL 以使
  • Javascript 函数查找数字的倍数

    创建一个名为的函数multiplesOf 它将接受两个参数 第一个参数是数字数组 第二个参数是数字 该函数应返回一个新数组 该数组由参数数组中的每个数字组成 该数字是参数数字的倍数 So multiplesOf 5 6 7 8 9 10 3
  • 为什么我的淘汰单选按钮在另一个具有点击绑定的元素内时会失败?

    我有一个单选按钮列表 我想要点击 li 他们还检查单选按钮 这一切都有效 直到我放了一个name单选元素上的属性 然后我的代码停止工作 我的代码如下所示 ul li li ul li
  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 带有淘汰赛js的隐形recaptcha

    我正在完成隐形验证码 但我在实现它时遇到问题 谷歌开发人员页面中的代码显示它应该是这样的
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 代码镜像错误:未捕获错误:扩展集中无法识别扩展值([对象对象])

    全部 我目前正在从事一个React Electron项目 该项目的目标是完成一个Markdown编辑器 当我配置codemirror 该程序报告错误说 Uncaught Error Unrecognized extension value
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项

随机推荐

  • 签出 origin/ 时如何知道我在 git 上的哪个分支

    我们有一个实际上可以做到的脚本git fetch git checkout origin
  • ShellExecute:动词“runas”不适用于路径中带有空格的批处理文件

    我正在使用 ShellExecuteW 启动批处理文件 代码看起来有点像这样 ShellExecuteW GetDesktopWindow wide verb c str wide filename c str wide parameter
  • 在C代码中表示EOF?

    换行符表示为 n 在C代码中 是否有与文件结束符 EOF 等效的字符 EOF 不是一个字符 在大多数现代操作系统中 它只是到达流末尾时应用于文件流的一个条件 之所以会出现混乱 是因为用户可能signalEOF 用于通过键入特殊字符进行控制台
  • 取消全局 CBT 挂钩后从所有进程卸载 DLL

    当加载 DLL 的系统范围挂钩被卸载时 如何从所有进程中正确卸载 DLL From MSDN 您可以释放全局钩子 程序通过使用 取消挂钩WindowsHookEx 但这个功能 不释放包含以下内容的 DLL 钩子程序 这是因为全球 钩子过程被
  • IndexError:使用 for 循环“弹出索引超出范围”

    我该如何解决这个问题IndexError 我尝试使用while循环 但没有任何改变 这是我的代码 它应该检查两个列表的对象的长度 la lb 并从中删除字符串la如果字符串短于lb字符串 反之亦然 另外 如果两个字符串的长度相同 则必须删除
  • 如何防止MSIL运行时注入? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 正如这里所见程序化 MSIL 注入或这里http www codeproject com Articles 463508 NET CLR Injection Modify IL
  • 如何在R闪亮字符串中插入新行

    在闪亮的 我有以下内容 output sequenceText lt renderText showSequence showSequence lt reactive selectedSeqs lt as numeric input seq
  • jQuery“可见”并不适用于所有浏览器,但适用于 Firefox

    我做了一个非常简单的小提琴here 并且可以在不同的浏览器中查看 它仅适用于 Firefox 换句话说 似乎 select tag id option visible 在其他浏览器中不起作用 怎么了 这是一个 jQuery 错误吗 代码是
  • 具有刚性变量的数组

    好吧 我正在做一个问题 其中我使用的函数有一个刚性变量 我想到了使用数组来解决这个问题 所以我想到使用与我创建的函数具有相同刚性变量的数组 但我不知道如何使用刚性变量创建数组 我尝试了以下操作但没有效果 rearrange Int gt a
  • Exec 命令未按预期工作

    我正在尝试从 PHP 脚本启动 CLI 命令 特别是我想使用这个命令convert a png a tif将图像转换为 tiff 当我从 CLI 启动此命令时 它会按预期工作 但如果我使用以下代码从 PHP 脚本启动 它不会在我的文件夹中创
  • Javascript 全局变量没有更新

    我正在制作这个网站 我想从另一个函数更新全局变量 全局变量i初始化为 0 我创建了 2 个函数 第一个用于更新全局变量并通过警报显示新值 第二个函数仅警报更新后的全局变量的新值 现在的问题是 当我调用第一个函数时 它会提醒新的更新值 但是当
  • Wagtail 单元测试:添加子页面将它们转换为基本类型

    尝试为 Wagtail 创建一些单元测试并遇到以下问题 gt gt root FrontPage add root instance FrontPageFactory build gt gt root
  • 使用 LINQ 进行多重排序[重复]

    这个问题在这里已经有答案了 我从一个基本类开始 我想使用 LINQ 在列表中操作它 如下所示 public class FooBar public virtual int Id get set public virtual string F
  • Delphi 7 - 如何使用输入框

    我正在编写一个程序 您必须在输入框中输入密码才能访问该程序的最小功能 但是 如果您单击输入框中的 取消 我的程序会出现错误消息 所以我想知道是否有人知道我如何才能做到这一点 因为通过 Messagedlg 我知道你使用 IF 但是我怎样才能
  • 在 WCF 中实现 JSON-RPC

    我一直在四处寻找 但没有找到解决方案 我想用 WCF 实现一个 JSON RPC 服务器 我找到了这个http jsonrpc2 codeplex com 但它不使用 WCF 我知道如何集成它 有人可以给我一个关于如何将所有东西组合在一起的
  • 区分不同类型的 MIFARE Ultralight

    如何识别不同类型的MIFARE Ultralight标签 在文档中AN10834Ultralight 和 Ultralight C 的不同之处在于 Auth 的答案 这个 验证 是什么 芯片的datasheet中没有对该功能的描述 我注意到
  • AOSP - 错误:覆盖目标 (...) 的命令,先前在 (...) 定义

    我正在尝试为不支持的设备构建 AOSP surnia Moto E2 2015 LTE 我之前解决了很多问题 但现在我遇到了一个无法避免的问题 我看到很多人都有这个问题 但他们只是警告 我能做些什么 或者你能帮我找到 surnia 设备树
  • “char *var[3]”和“char var[3][15]”有什么区别?

    我对以下两种方式感到困惑 char var 3 15 Hello world good bad as known this is for an 2D array char var 3 Hello world good bad and thi
  • GData 静态库:使用 -fno-objc-arc 从 ARC 中排除文件?

    我在使用 ARC 的应用程序中使用 GData 静态库 谷歌的说明说将头文件从库链接到项目目标 问题是 当我这样做时 我会收到编译器错误 因为 GData 库与 ARC 不兼容 谷歌声明 弧兼容性 当库源文件直接编译到使用 ARC 的项目中
  • 如何使用正则表达式(递归?)匹配嵌套函数调用(括号对)

    我正在寻找一个正则表达式 来匹配未知数量的嵌套函数 所以 expression function expression function function expression function function function expr