Skip to main content
 首页 » 编程设计

python之用于额外字段的正则表达式

2025年05月04日23bluestorm

给出下面的字符串:

';\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) 

表达式演练:

  1. 您的项目以“;”开头-> ';
  2. 后跟任意数量的任意符号 -> ".*""."=任意符号 "*"=0-无限次
  3. 以换行结束 -> "\n"
  4. 为了可读性,我将 repetition-grp 放在括号中

但在这种情况下,您还应该考虑:

s.split(),如果没有补充参数,它会在换行符处自动拆分。

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

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