regex 正则表达式同一字符多次出现Python

n3schb8v  于 2022-12-24  发布在  Python
关注(0)|答案(1)|浏览(116)

我遇到了一个在文本中隔离动态string + int的问题:
我想捕获"k9034",第一个字符总是字符串,后面的int的长度可以变化长度"9034...76"
给定:
K:\dir1\executions\是静态的,并且始终相同,\的编号在全文中始终相同
到目前为止,我已经做了一个脚本:

^K.*executions\\([a-t])

它捕获匹配1中的K:\dir1\executions\和组1中的k
由于k9034的长度不同,我想写这样的东西:

^K.*executions\\([a-t].*)\\.*

对于". *",我希望捕获k9034之后的第一个\,并将其放入匹配组或其他组(. *)中,但使用我的脚本捕获了错误的
Im using regex101.com to test it.

K:\dir1\executions\k9034\kejlk34f\fdshf3\

最好的问候

8cdiaqws

8cdiaqws1#

您可以使用2个捕获组来编写它:

^K:\\[^\s\\]+\\executions(\\[a-t]\d+)(\\)

Regex demo
或使用单个捕获组

^K:\\[^\s\\]+\\executions(\\[a-t]\d+\\)
    • 说明**
  • ^字符串开始
  • K:\\匹配K:\
  • [^\s\\]+匹配除\或空白字符以外的1+个字符
  • \\executions匹配\executions
  • (\\[a-t]\d+\\)捕获组1,匹配\,然后匹配a-t和1+数字范围内的单个字符

Regex demo

相关问题