首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex从文本中获取所有匹配项

问使用regex从文本中获取所有匹配项
EN

Stack Overflow用户
提问于 2021-07-02 01:21:13
回答 1查看 36关注 0票数 0

我有短信

文本示例(仅举一个示例,我不能显示真实文本):

some words getServerResponse={go [for {a walk}] goodby }something hello world text={what[ i want {in curl} ]braces}, another string text={second[ {text what} i ]want number two}

在这个例子中"text“-它是我需要获取的标签。我们可以看到,我需要的所有信息都包含在"text=“后面的花括号中。

我尝试使用这个模板:text=(.*),并期望从我的文本中获得list中的两个元素:

代码语言:javascript
复制
{what[ i want {in curl} ]braces}, another string text={second[ {text what} i ]want number two}
{second[ {text what} i ]want number two}

第一个元素包含第二部分并不重要,因为从第一个元素中,我只能得到第一个开花括号和关闭第一个花括号之间的内容:

what[ i want {in curl} ]braces

但是这个text=(.*)模板只提供了一种变体

{what[ i want {in curl} ]braces}, another string text={second[ {text what} i ]want number two}

如何从我的文本中获取所有匹配的列表元素?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-02 01:43:25

假设所有的花括号都是给定的格式,我想出了这个正则表达式。

代码语言:javascript
复制
(text=)(\{(\w|\[|\s|\{|\}|\])+)

这将捕获每个text=之后的嵌套元素。请注意,我已经添加了3个匹配组。现在可以忽略第三组。

Group1 => text=

Group2 => {what[ i want {in curl} ]braces}和{second[ {text what} i ]want number two}

您可以使用全部匹配并提取第二个采集组来获得您想要的结果。

RegexDemo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68214467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档