Python 附加字段的正则表达式

Python 附加字段的正则表达式,python,regex,Python,Regex,给出以下字符串: ';\n;20121110_160816\n;www.google.com\n\n; Test\na=5\n\nend\n' 将字符串解析为以下字段的正则表达式是什么 ;\n ;20121110_160816\n ;www.google.com\n ; Test\n 我最初失败的尝试如下: import re m = re.search(';.+?\\n', mystr) 输出: m.group() ';20121110_160816\n' 谢谢 import re r

给出以下字符串:

';\n;20121110_160816\n;www.google.com\n\n; Test\na=5\n\nend\n'
将字符串解析为以下字段的正则表达式是什么

;\n
;20121110_160816\n
;www.google.com\n
; Test\n
我最初失败的尝试如下:

import re
m = re.search(';.+?\\n', mystr)
输出:

m.group()
';20121110_160816\n'
谢谢

import re
re.findall('(;.*)\n', s)
表达式遍历:

  • 您的物品以“—>”开头
  • 后跟任意数量的任意符号->“*”the“.”=任意符号“*”=0-无限次
  • 它以换行符结束->“\n”
  • 为了便于阅读,我将重复grp放在括号中
  • 但在这种情况下,您还应考虑:

    s、 split(),如果未使用参数实现,则会在换行时自动拆分

    更新-评论您的评论;-)


    我不确定我是否真的理解你关于问号的问题。但一般来说,星号、问号和加号都是量词。与、和-键类似,它们本身没有意义,而且单独使用几乎一文不值。但与其他键/字符组合使用时,它们会修改它们的行为,或者在定量符的情况下,指定前面的字符/组是否应该重复和/或重复多少次。

    我没有Python中正则表达式的经验,但我知道正则表达式的一般性,我可以告诉您,您可能想要。*?而不是。。。也就是说,如果您还想匹配“空”
    \n
    +需要一个或多个字符;*是零或更多。您是否尝试过
    s.split(';')
    m=re.findall(r';*?\n',mystr)
    @BurhanKhalid,我需要正则表达式来解决此问题。谢谢。@Prince,这就是我想要的,谢谢。r';*\n'产生精确的输出,或r'*\n'无问号;虽然不确定此处的角色“?”。请随时将此评论添加到您的问题中,作为后续行动。