import re
example = ''' THE COMPANY
ABCD is a new company in the field of Marketing. bla bla bla.
DESCRIPTION
xyz....
SUMMARY
asdf.......'''
headlines = []
for line in example.split('\n'):
m = re.match(r'^\s{4,}([A-Z0-9 \t\._-]+)', line)
if m:
headlines.append(m.group(1))
print(headlines)
另一种方法是关于芬德尔地址:
headlines = [x.lstrip(' \n') for x in re.findall(r'^\s{4,}[A-Z0-9 \t\._-]+', example, re.M)]
print(headlines)
如果我没听错的话,你需要匹配由某种缩进组成的行,后跟一些大写单词。你知道吗
如果是这样的话,下面的正则表达式应该可以做到这一点:
让我们一块一块地来。你知道吗
(?m)
告诉正则表达式匹配器将^
和$
作为行的开始和结束,而不是字符串的开始和结束。你知道吗^
匹配行的开头。你知道吗(?: +)
是一个或多个空间的非捕获组。换句话说,模式的这一部分找到尽可能多的空间,然后忽略它们。毕竟,我们找的不是空格,而是文本。如果您也需要空格,只需删除(?:
和)
,剩下\s+
。如果您喜欢制表符,请将\s
替换为\t
。你知道吗[A-Z\s]+
匹配一个或多个大写字母或空格字符。你知道吗$
匹配行尾。你知道吗将所有这些放在一起(并放到Python中),我们得到:
我更喜欢用重新匹配地址:
另一种方法是关于芬德尔地址:
相关问题 更多 >
编程相关推荐