【发布时间】:2021-09-21 05:51:01
【问题描述】:
我有这样一句话Give me 4 of ABCD_X and then do something
我需要提取 ABCD_X - Give me 4 of 之后和空格之前的任何字符集。
数字可以是任意大小
我可以用这个表达式来做到这一点(取自this问题):
(?<=^Give me \d of )(.*?)(?=\s)
但是这个数字可以是 10 或更大,所以
(?<=^Give me \d+ of )(.*?)(?=\s) 在 python(pandas 列)中返回错误,即正向后看应该是固定宽度。
有没有一种方法可以避免正面回溯来提取这些字符?
【问题讨论】:
-
尝试限制位数,例如
\d{1,15} -
您可以只使用非捕获组
(?:^Give me...),而不是向后查看。