regex 正则表达式,用于查找第二次和第三次出现的星号符号之间的字符串[重复]

qvtsj1bj  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(134)

此问题已在此处有答案

Matching string between nth occurrence of character in python with RegEx(1个答案)
15天前关闭。
这篇文章是编辑并提交审查15天前.
我想写一个正则表达式来匹配第二个和第三个星号之间的数字。示例:

REF*ck*200589*Bla bla bla

我要200589号。
我试过了

  • [^*]+*

但显然它只提取了第一个和第二个星号之间的内容。
我也尝试了所有针对Matching string between nth occurrence of character in python with RegEx的解决方案,但没有一个适合我。
非常感谢!

insrf1ej

insrf1ej1#

这个应该能用

^([^*]+\*){2}(\d+)
>>> re.match(r"^([^*]+\*){2}(\d+)\*", "REF*ck*200589*Bla bla bla").group(2)
'200589'
  • 匹配字符串开始
  • 匹配2many not[*],然后*
  • 匹配数字
  • 匹配终止*(可选)

相关问题