'重新使用与正则表达式匹配的用户输入字符串的一部分'

2024-04-27 03:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用用户输入编写一个Python项目,并希望在输出中重用特定的部分(即与正则表达式匹配的部分),因此对话框可以类似于:

节目:你好,你今天在做什么? 用户:我一直在foobaring./我去foobaring./(任何其他包含'foobaring')[其中正则表达式是'[a-zA-Z]*ing'] 节目:你喜欢美食吗?在

…但无论用户输入什么活动,只要以“ing”结束,也会有相同的结果。在

目前,我将变量用于正则表达式和用户输入,如下所示:

variable = re.compile('regexp')

以及

^{pr2}$

所以我可以在以后的if中使用它们。在

TL;DR:是否有任何返回字符串的内容,该字符串是与正则表达式匹配的较大字符串的一部分


Tags: 项目字符串用户reifvariable节目对话框
1条回答
网友
1楼 · 发布于 2024-04-27 03:43:51

如果用括号将正则表达式括起来(使其成为一个组),则可以使用match.group(1)访问该组:

In [89]: import re

In [90]: gerund=re.compile(r'(?u)\b([\w-]+ing)\b')

In [91]: sentence='I went foobaring'

In [92]: match=gerund.search(sentence)

In [93]: match.group(1)
Out[93]: 'foobaring'

请注意,使用regex查找动名词很容易出错:

^{pr2}$

相关问题 更多 >