首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在执行一个re.findall字符串,并得到了一个错误: error:在0位置没有重复的内容

我正在执行一个re.findall字符串,并得到了一个错误: error:在0位置没有重复的内容
EN

Stack Overflow用户
提问于 2019-08-13 18:12:41
回答 2查看 499关注 0票数 0

下午好,在使用paramiko通过一个团队进行ssh查询之后,我得到了以下字符串,我在变量"buff_config“中得到了字符串,我想知道表达式"* B: P79COL01 # $”在里面找到了多少次,但是在这样做时我得到了以下错误:

/usr/local/lib/python3.6/re.py在findall(模式、字符串、标志)中包含220 221个空匹配。“”->222个返回_compile(模式、标志).findall( string ) 223 224 def finditer(模式、字符串、flags=0): /usr/local/lib/python3.6/re.py在_compile(模式,标志) 299如果不是sre_compile.isstring(模式):300 TypeError(“第一个参数必须是字符串或编译模式”)-> 301 p=sre_compile.compile(模式,标志) 302如果不是(标志和调试):303 if len(_cache) >= _MAXCACHE: /usr/local/lib/python3.6/sre_pile.py(p,标志) 560如果isstring(p):561 None =p-> 562 p= sre_parse.parse(p,标志) 563其他: 564模式=无 /usr/local/lib/python3.6/sre_parse.py中的解析(str、标志、模式)853854尝试:-> 855 p=_parse_sub(源、模式、标志& SRE_FLAG_VERBOSE,0) 856除外: 857 #详细标志在模式内部被打开。成为 _parse_sub中的/usr/local/lib/python3.6/sre_parse.py (源、状态、详细、嵌套) 414而True: 415 itemsappend(_parse(源、状态、详细、嵌套+ 1,-> 416非嵌套和非项) 417,如果不是源代码,则为418换 /usr/local/lib/python3.6/sre_parse.py (_parse(源、状态、详细、嵌套,首先) 614如果不是项,则为(_len( == )==1和item is AT):615 ==source.error(“无重复”,-> 616 source.tell() -这里+len(This) 617如果_REPEATCODES中的项目: 618引发source.error(“多次重复”), 错误:在0位置没有重复

我使用的代码如下:

代码语言:javascript
复制
re.findall('*B:P79COL01#$',buff_config)

buff_config变量:

对不起,但是我可以放置buff_config变量所包含的内容,因为我没有离开问题编辑器

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-13 18:17:55

regex中的*意思是“重复它前面的内容0次或更多次”,所以它不能是第一个字符,这就是错误试图告诉您的。

您可以转义它(\*)以搜索文字*字符,但您甚至不需要regex。您可以只使用buff_config.count('*B:P79COL01#')

票数 2
EN

Stack Overflow用户

发布于 2019-08-13 18:18:24

您的正则表达式以一个astrix开头,它用于指示0或多个实例或模式。但是,查看您的源代码,您需要一个文本astrix,因此您需要在它的前缀上加上一个反斜杠,以告诉regex忽略*的特殊含义,并在字符串中寻找它作为文本字符。

代码语言:javascript
复制
re.findall(r'\*B:P79COL01#$',buff_config)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57483274

复制
相关文章

相似问题

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