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 提供了两种不同的原语 基于常规的操作 表达式:match 检查匹配 仅在字符串的开头, 而 search 检查匹配 anywhere 在字符串中(这就是 Perl 默认会这样做)
直from the docs,但确实出现了很多。
【讨论】:
【参考方案3】:你考虑过re.match('(.*)store\(s\)$',text)
吗?
【讨论】:
以上是关于python正则表达式中的匹配括号[重复]的主要内容,如果未能解决你的问题,请参考以下文章