正则表达式匹配一些括号要点

标签 regex

我想要下面的正则表达式匹配:

(1)hello(2)world

我想循环 2 场比赛,一场是 (1)hello,另一场是 (2)world 对于每场比赛,(1) 是第一组“hello”是第二组

我尝试了(\(\d+\))(.*?)但失败了。

最佳答案

如果您需要使用匹配方法来分别访问(n)hello值,则需要使用正则表达式喜欢

(\(\d+\))([^(]*(?:\((?!\d+\))[^(]*)*)

请参阅regex demo 。上面的模式是 (?s)(\(\d+\))((?:(?!\(\d+\)).)*) 的展开等效项。

详细信息:

  • (\(\d+\)) - 捕获组 1:(, 1+ 位数字, )
  • ([^(]*(?:\((?!\d+\))[^(]*)*) - 捕获组 2:
    • [^(]* - 除 (
    • 之外的 0+ 个字符
    • (?:\((?!\d+\))[^(]*)* - 零个或多个序列:
      • \((?!\d+\)) - 文字 ( 后面不带 1+ 位数字和 )
      • [^(]* - 除 ( 之外的 0+ 个字符。

关于正则表达式匹配一些括号要点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42134542/

相关文章:

javascript - 使用 JavaScript 正则表达式分割字符串但保留分隔符?

java - 如何在Oracle中使用Java正则表达式regexp_replace

在包含任何字符的设置中序列化 List<string> 的 C# 方法 (Regex/xml)

javascript - 使用正则表达式获取字符串的第一个对应项

Javascript正则表达式将图像文件发送到asp.net中的FileUpload控件

regex - 为什么打印反向引用时不打印反斜杠?

regex - 使用 sed/regex 进行 bash 字符串操作

Python 正则表达式索引号

javascript - 整数、整数+点和小数的正则表达式

javascript - 如何使用正则表达式将 url 路径与可选元素进行匹配