Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何重复正则表达式组直到字符串结束_Regex - Fatal编程技术网

Regex 如何重复正则表达式组直到字符串结束

Regex 如何重复正则表达式组直到字符串结束,regex,Regex,我有以下字符串 someaddres.com/?f=[B]a-test,a-test,test[C]test a,test2 我试图从中引出两组人: [B]a-test,a test,Test 及 如何重复捕获组,直到找到组中不存在的角色 我当前的正则表达式是:f=(\[[A-Z]\][A-zA-Z0-9,-\s]+)您可以将此正则表达式与捕获的组一起使用,该组将匹配两次: (\[\w+\][^[]+) 如果要在单个匹配中包含两个捕获组,请使用: (\[\w+\][^[]+)(\[\w+\

我有以下字符串
someaddres.com/?f=[B]a-test,a-test,test[C]test a,test2

我试图从中引出两组人:

[B]a-test,a test,Test

如何重复捕获组,直到找到组中不存在的角色


我当前的正则表达式是:
f=(\[[A-Z]\][A-zA-Z0-9,-\s]+)

您可以将此正则表达式与捕获的组一起使用,该组将匹配两次:

(\[\w+\][^[]+)

如果要在单个匹配中包含两个捕获组,请使用:

(\[\w+\][^[]+)(\[\w+\][^[]+)

正则表达式详细信息:

  • :启动捕获组#1
    • \[
      :匹配一个
      [
    • \w+
      :匹配1个以上的单词字符
    • \]
      :匹配一个
      ]
    • [^[]+
      :匹配任何非
      [`
  • :结束捕获组#1

非常感谢!我可能有许多组需要以相同的格式捕获,有没有一种方法可以在不复制逻辑的情况下编写这些组?因此,假设我想捕获5个模式,理想情况下我不想复制5次JavaScript ECMAScript
我不想复制5次
如果正则表达式模式与此示例完全相同,那么我们我的第一个建议是不重复子模式的regex。啊,我现在明白了,非常感谢你。你已经用regex相关的问题教了我几次。非常感谢你的时间,一个真正的MVP
(\[\w+\][^[]+)(\[\w+\][^[]+)