正则表达式 - 捕获组

时间:2016-01-17 17:42:18

标签: regex

我试着写一个正则表达式来匹配新行开头的以下内容   - 一个数字,然后是parantheses,例如2)或8)
  - 一个数字后跟一段时间,例如五   - 角色' - '   - 角色' *'

以下字符串应匹配

  • " 1。排序功能。如果你有一个很长的清单,那就非常困难。"
  • " 5)这是另一个例子"
  • " - 这是另一个"
  • " *列表中的最后一项"

我试过这个但是它并没有让我得到我正在寻找的东西。

re.findall(r'(?m)\s*^[-*(\d.)(\d\))]',item)

2 个答案:

答案 0 :(得分:1)

尝试

re.findall(r'^\s*(\d+(\)|\.)|-|\*)', item, re.MULTILINE)

它将匹配所有数字序列,后跟一个右括号或句号,以及行开头的短划线和星号

示例:https://regex101.com/r/cR2lZ5/6

答案 1 :(得分:0)

假设您的引号标记“未包含在内,并且每行都是一个单独的字符串,

^\d\.|^\d\)|^\-|^\*

将是正则表达式。 |是OR,\ d是一个数字,你可以通过在它们前面放一个反斜杠来转义特殊字符“。”,“)”,“ - ”和“*”。

您可以测试正则表达式here。祝你好运!