Python 使用正则表达式获取字符串前后的数字

Python 使用正则表达式获取字符串前后的数字,python,regex,Python,Regex,我想获取熊猫数据框中某些关键字前后的数字,例如word,words,page,page jobtitle 四个简短视频脚本的英文到西班牙文翻译和旁白录制(总共1100字) 南美西班牙语-5分钟视频900字翻译和画外音 将生产培训视频脚本从英语翻译成西班牙语(word文档) 将100页翻译成西班牙语 将1500字的文档从英语翻译成西班牙语 将2225字的文档从英语翻译成西班牙语 翻译第103页 我尝试了一些类似于:“(?:([0-9]?[0-9])[a-zA-Z]{0,20}(?:word |

我想获取熊猫数据框中某些关键字前后的数字,例如
word
words
page
page

jobtitle
四个简短视频脚本的英文到西班牙文翻译和旁白录制(总共1100字)
南美西班牙语-5分钟视频900字翻译和画外音
将生产培训视频脚本从英语翻译成西班牙语(word文档)
将100页翻译成西班牙语
将1500字的文档从英语翻译成西班牙语
将2225字的文档从英语翻译成西班牙语
翻译第103页

我尝试了一些类似于:
“(?:([0-9]?[0-9])[a-zA-Z]{0,20}(?:word | words))”
的方法,但无法正确使用它们。

您可以使用一个替代的
来匹配页面或单词,然后是一个可选的s

要匹配0个或多个除换行符以外的空白字符,可以使用
[^\S\r\n]*

\b(\d+)[^\S\r\n]*(?:page|word)s?

为什么这么复杂?对于您的示例,您似乎可以简单地使用
(\d+)\s*单词?
,请参见,然后您可以在
页面
中使用另一个,并在单词后面使用另一个。为什么只有一个正则表达式才能覆盖所有的情况?不,我只是举个例子,我也需要一个正则表达式