python正则表达式中的匹配括号[重复]

Posted

技术标签:

【中文标题】python正则表达式中的匹配括号[重复]【英文标题】:matching parentheses in python regular expression [duplicate] 【发布时间】:2011-07-15 05:56:52 【问题描述】:

我有类似的东西

商店

结束行,如 1 家商店 .. 我想匹配,它使用python正则表达式。

我尝试过类似re.match('store\(s\)$',text) 但它不起作用。

编辑:添加代码,我试过了

import re
s = '1 store(s)'
if re.match('store\(s\)$',s) :
    print('match')

请帮忙。

谢谢 极乐

【问题讨论】:

事实上它确实有效。为什么你认为没有? 编辑有问题吗? @Jakub Hampl:更改正则表达式和问题的重要部分无济于事。 @poke Wow 完全错过了那里。我想我太专注于让它易于理解。 @larsmans 试试我粘贴的那段代码。它不适合我。 【参考方案1】:

或多或少直接回复你的评论

试试这个

import re
s = '1 stores(s)'
if re.match('store\(s\)$',s):
    print('match')

解决方案是使用re.search 而不是re.match,因为后者尝试将整个字符串与正则表达式匹配,而前者只是尝试在字符串中找到与表达式匹配的子字符串。

【讨论】:

还需要在正则表达式模式字符串中添加“r”前缀。 这不是报价单。 OP 从未说过“试试这个”,他的代码没有s = '1 stores(s)'。我建议您复制并粘贴引号...或者更小心地输入它,否则您的答案很难理解。 @martineau:不,OP 首先将其写为评论,因此是“回复您的评论”。实际消息随后被放入问题中,评论被删除。这并没有改变它仍然是引用的事实(并且不是我的文字)......【参考方案2】:

Python 提供了两种不同的原语 基于常规的操作 表达式:ma​​tch 检查匹配 仅在字符串的开头, 而 search 检查匹配 anywhere 在字符串中(这就是 Perl 默认会这样做)

直from the docs,但确实出现了很多。

【讨论】:

【参考方案3】:

你考虑过re.match('(.*)store\(s\)$',text) 吗?

【讨论】:

以上是关于python正则表达式中的匹配括号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式在非常大的html文件中匹配java中的花括号[重复]

Python 正则表达式 利用括号分组

用python的re(正则表达式)模块匹配英文环境下的括号

如何用正则表达式匹配括号中的内容,不包含括号

正则表达式 小括号导致匹配项重复

正则表达式如何匹配提取括号中的内容