Javascript 正则表达式-Match@function[args1 | args2]

Javascript 正则表达式-Match@function[args1 | args2],javascript,regex,Javascript,Regex,我有一个问题要匹配正则表达式中的某个模式 案例1:@Function[] 案例2:@函数[args1 | args2] 案例3:@函数 我想要这个结果 案例1:1-功能2- 案例2:1-函数2-args1 | args2 案例3:1-功能2- 我用\@(.?*)\[(.?*)\]匹配第一个模式,但不匹配第三个模式 谢谢你抽出时间。 奥宾 (顺便说一句,我想您在这里编写正则表达式时犯了一个错误:?*) 编辑:忘记了第二个捕获组 Edit2:由于前一组不起作用的原因,第一组的懒惰操作符确保得

我有一个问题要匹配正则表达式中的某个模式

  • 案例1:@Function[]
  • 案例2:@函数[args1 | args2]
  • 案例3:@函数
我想要这个结果

  • 案例1:1-功能2-
  • 案例2:1-函数2-args1 | args2
  • 案例3:1-功能2-
我用
\@(.?*)\[(.?*)\]
匹配第一个模式,但不匹配第三个模式

谢谢你抽出时间。 奥宾

(顺便说一句,我想您在这里编写正则表达式时犯了一个错误:
?*

编辑:忘记了第二个捕获组


Edit2:由于前一组不起作用的原因,第一组的懒惰操作符确保得到最小的匹配。因此,第二部分在第一部分匹配“”的情况下进行了测试(无),并且由于它有一个?接线员。

@AubinLorieux很抱歉,这显然是错误的是:)已更正并正常工作。为什么您的模式或答案中没有使用
函数
。。。有什么事吗?
\@([^[\]]+)(?:\[(.*?)\])?