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

与模式匹配的正则表达式

吴鸿彩
2023-03-14

有没有一种方法可以在python中编写与以下格式的字符串匹配的正则表达式

壮举(修复验证):一些文本(Aerogear-G1010)

feat$($修复验证$)$:$一些文本$($Aerogear-G1010$)

在这里,$=表示零或更多的空白可以存在

feat:来自字符串的固定子集的字符串['feat','fix','docs','断']

修复验证:最大长度为n的字符串

一些文本:最大长度为m的字符串

前缀应该始终是一个字符串,之后是一些最大q长度的字母数字字符

注意:我们不能省略像这样的特殊字符:-应该使用与下面示例中所示完全相同的格式:

  1. feat(feat new):群组创建的新功能(Aerogear-1234)

我只能使用模式将字符串与修复字符串的子集相匹配:'^fix|docs|feat\s\('。我不能在匹配的字符串后面添加零个或多个空格,后面跟着(一些文本):

这能实现吗?提前感谢:)

共有1个答案

周楷
2023-03-14

正则表达式中,'^fix|docs|feat\s\('\s在一次和无限次之间匹配任何空白字符。这至少需要一个空白字符。

相反:

^(feat|docs|fix|breaking) *\( *(.*?) *\) *: *(.*?) *\( *(.*?) *\)$

我使用了键入的空格(),但是如果你想包含任何空格字符,你应该使用\s,这相当于[\r\n\t\f\v]

应该做你正在寻找的,你可以在这里看到每个部分在做什么:https://regex101.com/r/EsF8FF/4

我建议阅读这里的解释,并阅读re模块的python文档:https://docs.python.org/3/library/re.html

 类似资料:
  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 我有一根线,比如: 如何匹配每行的最后一个?顺便说一句,这是我试图在Sublime的文本中做到的。这些值不一致,就像我在这里看到的,我有几百行要替换。 我尝试了,但这与相匹配。

  • 我们得到了一些这样的内容:

  • 我使用wiremock来模拟某些请求及其相应的响应,但我试图添加一个正则表达式。不幸的是,这只会引发一个异常,表明请求不匹配。 我也试过了 我发送的请求是

  • 问题内容: 我正在制作一个键值解析器,其中输入字符串采用的形式。键可以包含字符,并且和值可以包含任何字符,但,,和需要用反斜杠前缀。逗号用于分隔键值对,但在最后一对之后不需要。 到目前为止,我已经可以匹配大多数键和值,但是很显然它将不能处理多于一对的字符或者任何“控制”字符都不能转义。似乎匹配所有转义字符,但不匹配任何“正常”字符。 有没有办法检查逗号分隔并匹配所有转义的“控制”字符以及普通字符?

  • 这是我的问题。我有这个: 然而,它并不匹配。为什么?我试图检索括号内的数字。 我应该尝试什么?