[英]Regular expression for find the text
我想获得紧跟在AB.00.000
的My Text Content
。
我可以通过使用下面的正则表达式得到这个AB.00.000
,
([A-Z]{2,3}\.[0-9]{2}\.[0-9]{3})
如何在 Python 中获取AB.00.000
旁边的文本?
这是输入字符串:
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard
AB.00.000 My Text Content
$!#"!
23:50
My Phone
在找到您的模式后,您似乎想获得该行的其余部分。
您可以使用
r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'
请参阅正则表达式演示。 请注意, \\b
是一个单词边界,它需要在单词 char(或字符串的开头/结尾)之前或之后的字母/数字/ _
以外的字符。 \\s*(.*)
是您的解决方案严重缺失的内容:
\\s*
- 0+ 个空格(.*)
- 捕获组 #1:除换行符以外的任何 0 个或更多字符,尽可能多,即行的其余部分。如果模式必须位于一行的开头,则提取所需文本的正则表达式方式将如下所示
r'(?m)^[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'
请参阅另一个正则表达式演示。 (?m)
(= re.M
选项) 使^
匹配一行的开始,而不仅仅是整个字符串的开始,位置。
Python:
m = re.search(r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)')
if m:
print(m.group(1))
请注意,要访问匹配的第一个(也是唯一的)括号部分,您需要通过.group(1)
访问匹配组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.