当前位置: 首页 > 面试题库 >

Python正则表达式中的错误?(带有re.MULTILINE的re.sub)

仲孙昊焱
2023-03-14
问题内容

我注意到Python的Regex库中有些奇怪的行为,而且我不确定自己是否做错了什么。

如果我使用re.sub()配合对其运行正则表达式re.MULTILINE。它似乎仅替换前几次出现的情况。如果我关闭re.MULTILINE,使用re.subn(..., count = 0, flags = re.MULTILINE)或编译正则表达式,它将替换所有出现的情况re.compile(..., re.MULTILINE)

我在Ubuntu 12.04上运行Python 2.7。

我在以下位置发布了一个随机示例:

  • Pastebin.com-终端输出
  • 键盘-确认行为的脚本(re.subn()除外,在2.5上有所不同)

有人可以确认/拒绝其计算机上的这种行为吗?

编辑:意识到我应该继续并将其发布在Python错误跟踪器上。编辑2:报告的问题: http
//bugs.python.org/msg168909

问题答案:

采用

re.sub(pattern, replace, text, flags=re.MULTILINE)

代替

re.sub(pattern, replace, text, re.MULTILINE)

相当于

re.sub(pattern, replace, text, count=re.MULTILINE)

这是您代码中的错误。

参见re.sub()



 类似资料:
  • 问题内容: 我得到了一个包含多行纯utf-8文本的文件。如下所示,按中文,是中文。 文件本身以utf-8格式保存。文件名是xx.txt 这是我的python代码,env是python2.7 这里有问题的是我没有结果。 我想从这里的十进制字符串中获得。 为什么此代码不起作用?谁能向我解释,我什么也没有。 问题答案: 您的代码有几个问题。首先,您应该使用。另外,添加re.UNICODE标志也很不错(尽

  • 下面是我正在使用的正则表达式的最新版本,它抛出了错误“Invalid regular expression” XSD:正则表达式在位置4验证失败:当前选项设置不支持此表达式。 我在xsd文件中得到了这个异常,我正在message broker(IIB)中开发这个xsd。有谁能帮我解决这个问题吗?

  • 问题内容: 我需要从字符串“ بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ”中删除一些Unicode符号 我知道他们肯定在这里。我试过了: 但这不起作用。字符串保持不变。我究竟做错了什么? 问题答案: 您使用的是python 2.x还是3.0? 如果您使用的是2.x,请尝试使用“ u”使正则表达式字符串成为unicode-escape字符串。由于它是正则表达式,因此

  • 我目前正在尝试创建一个日志解析器,它从一个输入文件(a.log)中获取以下格式的一系列ping报告:(194.12.224.34中的64字节:icmp_seq=1 ttl=47 time=66.7 ms)并构建一个输出文件(a.csv)。 经过多次尝试,我发现了下面的错误。我的同事给了我他的代码(如下),虽然写得不同,但本质上是一样的。他的代码给出了同样的错误,尽管他的代码在同一个任务中正常工作。

  • 序:世界上信息非常多,而我们关注的信息有限。假如我们希望只提取出关注的数据,此时可以通过一些表达式进行提取,正则表达式就是其中一种进行数据筛选的表达式。 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式通常被用来匹配、检索、替换和分割那些符合某个模式(规则)的文本。 Python 自1.5版本起

  • 我有一个表单,它有一个输入字段,只要求一个有效的youtube url,没有逗号分隔的youtube url。我使用以下正则表达式验证youtube url的用户输入: 但如果用户输入逗号分隔的有效youtube链接,这些正则表达式就会失败。 我想要一个正则表达式,simpy只允许在输入字段中有一个有效的youtube链接。有人能在这方面帮我吗,因为我对regex还不熟悉? 例如: https:/