我想找到的是正确的正则表达式
import re
line = "The Boeing AH-64 Apache is an American four-blade,"
print(re.findall('(A.+)\s', line))
这是我想要的
['AH-64', 'Apache' , 'American']
这就是我得到的
['AH-64 Apache is an American']
答案 0 :(得分:1)
您可以在\b
之前使用字边界(A
),然后匹配其后的一个或多个非空白字符(\S+
):
import re
line = "The Boeing AH-64 Apache is an American four-blade,"
print(re.findall(r'\bA\S+', line))
注意:要将A
作为整个词匹配,请将+
(1次或多次出现)替换为*
(0次或更多次出现):{ {1}}。我假设你想匹配更长的序列。
或者,由于r'\bA\S*'
匹配所有符号和标点符号,您可以稍微精确一下你的正则表达式并使用
\S
其中print(re.findall(r'\bA[\w-]+', line))
匹配1个或多个字母,数字,[\w-]+
和_
符号。
请参阅显示-
输出的Python demo。