当前位置: 首页 > 知识库问答 >
问题:

有可能匹配字符串中某个模式的所有出现,并具有给定的开始和结束?[副本]

汪信鸥
2023-03-14

我需要得到

first="john"
second="doe"

firstz="johnz"
secondz="doez"

从这篇文章中:

any text here [link first="john" second="doe"] anytexthere [link firstz="johnz" secondz="doez"]

模式需要在开始时获取[链接,在结束时获取],并且可以在内部具有多个属性...

[link first="john" second="doe"] ✅ -> first="john", second="doe"
[lin first="john" second="doe" ❌
[link first="john second="doe"] ❌
[linksecond="doe"] ❌

Obs:“第一”,“约翰”,“第二”,“多伊”可以是任何东西。

这是我最好的尝试:https://regex101.com/r/cJnYIF/1

\[link (\w+="\w+")\]

但这只是第一个

我也尝试过积极的关注,但没有成功https://regex101.com/r/jnk6gM/397

有人知道怎么解决这个问题吗?如果可能,XD

共有1个答案

寿意远
2023-03-14

您可以使用以下正则表达式,它将匹配您的所有参数

\[link ((?:\w+="\w+" ?)+)\]

然后,您可以使用拆分(“”)函数解析它们,具体取决于您使用的语言。

 类似资料:
  • 我试图找出我的字符串是否包含从a到z的所有字母 我们可以通过其他方法解决这个问题,但我正在尝试仅使用模式和匹配器来解决它。

  • 问题内容: 我正在读csv到: 我想用空字符串替换该行的第8个元素中的所有匹配项。该功能不起作用。 有一个更好的方法吗? 问题答案: 问题是您对的结果不做任何事情。在Python中,字符串是不可变的,因此任何处理字符串的操作都将返回新字符串,而不是修改原始字符串。

  • 我正在寻找与此非常相似的东西,只是我想要所有的匹配,而不仅仅是第一个。在javascript中,您可以添加一个“全局”修饰符来获得所有匹配项的列表,在Java中是否也有类似的可能?

  • 我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我

  • 问题内容: 我有绳子。我想通过更改字符串中的字符顺序来从该字符串生成所有排列。例如,说: 我想要的是这样的清单, 目前,我正在迭代字符串的列表强制转换,随机选择2个字母并将它们换位以形成新的字符串,然后将其添加到设置的l强制转换中。根据字符串的长度,我正在计算可能的排列数量,并继续迭代直到集合大小达到极限。必须有更好的方法来做到这一点。 问题答案: itertools模块具有一个有用的方法,称为p

  • 问题内容: 我正在尝试查找“ |”的所有出现 在一个字符串中。 但我得到一个错误: 问题答案: 功能: 将返回的索引列表中的出现。