当前位置: 首页 > 编程笔记 >

Regular Expressions 命名捕获组的外观

桓瀚
2023-03-14
本文向大家介绍Regular Expressions 命名捕获组的外观,包括了Regular Expressions 命名捕获组的外观的使用技巧和注意事项,需要的朋友参考一下

示例

根据口味,命名的捕获组可能如下所示:

(?'name'X)
(?<name>X)
(?P<name>X)

随着X成为您想要捕获的模式。让我们考虑以下字符串:

从前有一个漂亮的小女孩...

曾几何时,有一个戴着帽子独角兽...

曾几何时,有一艘带有海盗旗...

我要在其中捕获每行的主题(斜体)。我将使用以下表达式.* was a (?<subject>[\w ]+)[.]{3}。

匹配结果将保持:

MATCH 1
subject    [29-47]    `pretty little girl`
MATCH 2
subject    [80-99]    `unicorn with an hat`
MATCH 3
subject    [132-155]    `boat with a pirate flag`
           

 类似资料:
  • 无捕获组和命名组 精心设计的 REs 也许会用很多组,既可以捕获感兴趣的子串,又可以分组和结构化 RE 本身。在复杂的 REs 里,追踪组号变得困难。有两个功能可以对这个问题有所帮助。它们也都使用正则表达式扩展的通用语法,因此我们来看看第一个。 Perl 5 对标准正则表达式增加了几个附加功能,Python 的 re 模块也支持其中的大部分。选择一个新的单按键元字符或一个以 "\" 开始的特殊序列

  • 问题内容: 受到一个现已删除的问题的启发;给定带有命名组的正则表达式,是否有类似的方法返回具有命名捕获组的列表而不是列表? 鉴于: 应该改为: 问题答案:

  • 问题内容: 据我所知,JavaScript中没有所谓的捕获组。获得类似功能的替代方法是什么? 问题答案: ECMAScript 2018将命名捕获组引入了JavaScript正则表达式中。 例: 如果您需要支持较旧的浏览器,则可以使用命名捕获组来处理普通(编号)捕获组,而只需要跟踪编号-如果捕获组中的捕获组顺序很麻烦,正则表达式更改。 我能想到的命名捕获组只有两个“结构”优点: 在某些正则表达式中

  • 我是NextFlow/Groovy/Java的新手,在处理一个简单的正则表达式任务时遇到了一些困难。 我正在尝试修改一些文件对的标签。我的理解是,返回的数据结构形式如下: 我进一步认为: 对此列表中的项调用方法时,将给出名称,我在上面将其标记为 与一起使用的闭包返回的值设置文件对的名称。 与一起使用的闭包中的的值是文件对列表中的单个项。 但是,我在以下几个方面尝试了很多变体都没有成功: 我还尝试了

  • 模式的一部分可以用括号括起来 (...)。这称为“捕获组(capturing group)”。 这有两个影响: 它允许将匹配的一部分作为结果数组中的单独项。 如果我们将量词放在括号后,则它将括号视为一个整体。 示例 让我们看看在示例中的括号是如何工作的。 示例:gogogo 不带括号,模式 go+ 表示 g 字符,其后 o 重复一次或多次。例如 goooo 或 gooooooooo。 括号将字符组

  • 我正在使用C#和regex,试图捕获外部的paren组,同时忽略内部的paren组。我有遗留生成的文本文件,其中包含数千个字符串构造,如下所示: null