草庐IT

Re-certify

全部标签

python - 如何在 Python 中正确地使用 re.sub() 进行迭代

我想制作一个创建脚注的Python脚本。这个想法是找到所有类型为"Somebodytext.{^}{Somefootnotetext.}"的字符串,并将它们替换为"Somebodytext.^#",其中"^#"是正确的脚注编号。(我的脚本的不同部分处理实际打印出文件底部的脚注。)我为此使用的当前代码是:pattern=r"\{\^\}\{(.*?)\}"i=0defcreate_footnote_numbers(match):globalii+=1return""+str(i)+""new_body_text=re.sub(pattern,create_footnote_numbers

python - python re.template 函数有什么作用?

在ipython中使用re模块时,我注意到一个未记录的template函数:In[420]:re.template?Type:functionBaseClass:StringForm:Namespace:InteractiveFile:/usr/tideway/lib/python2.7/re.pyDefinition:re.template(pattern,flags=0)Docstring:Compileatemplatepattern,returningapatternobject还有一个标志re.TEMPLATE及其别名re.T。2.7或3.2的文档中均未提及这些内容。他们在做

python - 如何使用 re 查找连续、重复的字符

我想在一个字符串中找到所有连续的、重复的字符block。例如,请考虑以下内容:s=r'http://www.google.com/search=ooo-jjj'我想找到的是:www、ooo和jjj。我试着这样做:m=re.search(r'(\w)\1\1',s)但它似乎并没有像我预期的那样工作。有什么想法吗?另外,我怎样才能在Bash中做到这一点? 最佳答案 ((\w)\2{2,})匹配3个或更多连续字符:In[71]:importreIn[72]:s=r'http://www.google.com/search=ooo-jjjj

python - 将标志作为参数传递给 re.compile

我想根据类似于以下的逻辑将某些标志传递给re.compile函数。我想知道是否可以这样做。flags=""ifmultiline:flags='re.M'ifdotall:flags=flags+'|re.S'ifverbose:flags=flags+'|re.X'ifignorecase:flags=flags+'|re.I'ifuni_code:flags=flags+'|re.U'regex=re.compile(r'TestPattern',flags) 最佳答案 re标志只是数字。所以,我们需要对它们进行二进制或操作,就

Python:NameError:在封闭范围内赋值之前引用了自由变量 're'

我在Python3.3.1(win7)中有一个奇怪的NameError。代码:importre#...#Parseexcludepatterns.excluded_regexps=set(re.compile(regexp)forregexpinoptions.exclude_pattern)#Thisisline561:excluded_regexps|=set(re.compile(regexp,re.I)forregexpinoptions.exclude_pattern_ci)错误:Traceback(mostrecentcalllast):File"py3createtorr

Python re.findall 与 groupdicts

我有点希望re.findall有一个版本可以返回groupdict而不仅仅是group。我是否缺少一些简单的方法来实现相同的结果?有人知道这个函数不存在的原因吗? 最佳答案 您可以使用finditer()函数。这将为您提供一系列匹配对象,因此您可以为每个对象获取groupdict:[m.groupdict()forminregex.finditer(search_string)] 关于Pythonre.findall与groupdicts,我们在StackOverflow上找到一个类似的

python - Python 中的解析行 : Use RE or Not?

我是一名Perl程序员,正在尝试通过学习我以前完成的一些工作并将其转换为Python来学习Python。这不是逐行翻译。我想学习Python技术来完成此类任务。我正在解析WindowsINI文件。部分名称采用以下格式:[]是单个单词字段,不区分大小写。可以是多个单词。一段之后,有一堆参数和值。它们的形式是:=参数没有空格,只能包含下划线、字母和数字(不区分大小写)。因此,第一个=是参数和值之间的分频器。等号周围可能有空格分隔参数和值。行首或行尾可能有额外的空格。在Perl中,我使用正则表达式进行解析:while(my$line=){chomp($line);nextif($line=~

python - re (Python) 中的俄语符号

我从文件中获取数据:words=re.findall(r'[\w]+',self._from.encode('utf8'),re.U)如果文件包含:Hi,howareyou?那么结果将是:['Hi','how','are','you']但如果文件包含俄语(即西里尔符号),则:Привет,какдела?在这种情况下,结果是:['\xd0','\xd1','\xd0','\xd0\xb2\xd0\xb5\xd1','\xd0\xba\xd0','\xd0\xba','\xd0','\xd0\xb5\xd0','\xd0']为什么?卧槽我已经添加了:sys.setdefaultencod

python - 全局名称 're' 未定义

我是python的新手,正在处理map减少mincemeat的问题。运行mincemeat脚本时出现以下错误。$pythonmincemeat.py-pchangemelocalhosterror:uncapturedpythonexception,closingchannel(:globalname're'isnotdefined[/usr/lib/python2.7/asyncore.py|read|79][/usr/lib/python2.7/asyncore.py|handle_read_event|438][/usr/lib/python2.7/asynchat.py|han

python - 用于从电子邮件主题中删除 "FWD"、 "RE"等的正则表达式/代码

给定一个电子邮件主题行,我想清理它,摆脱“Re:”、“Fwd”和其他垃圾。因此,例如,“[Fwd]Re:JackandJill'sWedding”应该变成“JackandJill'sWedding”。以前肯定有人这样做过,所以我希望你能指点我经过战斗测试的正则表达式或代码。以下是一些需要清理的示例,可在thispage上找到.该页面上的正则表达式工作得很好,但并不完全。Fwd:Re:Re:ManyRe:Re:ManyRe::Re:ManyRe::ManyRe;Many:noah-shouldnotmatchanythingRE--RE::PresidentialBallotsforFl