我有短信
文本示例(仅举一个示例,我不能显示真实文本):
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中的两个元素:
{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}
如何从我的文本中获取所有匹配的列表元素?
发布于 2021-07-02 01:43:25
假设所有的花括号都是给定的格式,我想出了这个正则表达式。
(text=)(\{(\w|\[|\s|\{|\}|\])+)这将捕获每个text=之后的嵌套元素。请注意,我已经添加了3个匹配组。现在可以忽略第三组。
Group1 => text=
Group2 => {what[ i want {in curl} ]braces}和{second[ {text what} i ]want number two}
您可以使用全部匹配并提取第二个采集组来获得您想要的结果。
https://stackoverflow.com/questions/68214467
复制相似问题