首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在正则表达式中使用变量?

如何在正则表达式中使用变量?
EN

Stack Overflow用户
提问于 2011-08-04 01:59:42
回答 10查看 273.3K关注 0票数 310

我想在regex中使用variable,如何在Python中执行此操作

代码语言:javascript
复制
TEXTO = sys.argv[1]

if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE):
    # Successful match
else:
    # Match attempt failed
EN

回答 10

Stack Overflow用户

发布于 2011-08-04 02:05:54

您必须将正则表达式构建为字符串:

代码语言:javascript
复制
TEXTO = sys.argv[1]
my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)"

if re.search(my_regex, subject, re.IGNORECASE):
    etc.

注意re.escape的用法,这样如果您的文本包含特殊字符,它们就不会被解释为特殊字符。

票数 308
EN

Stack Overflow用户

发布于 2011-08-04 02:04:36

代码语言:javascript
复制
if re.search(r"\b(?<=\w)%s\b(?!\w)" % TEXTO, subject, re.IGNORECASE):

这将把TEXTO中的内容作为字符串插入到regex中。

票数 53
EN

Stack Overflow用户

发布于 2011-08-04 02:04:32

代码语言:javascript
复制
rx = r'\b(?<=\w){0}\b(?!\w)'.format(TEXTO)
票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6930982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档