提取字符串之间的子字符串

Extract Substring which is between String

假设我有一个字符串“Amar Kulkarni is a Good Boy”。

我只想要“is an”和“.”(一个点)之间的字符串

我试过使用

    import re
    finalresults = re.search('is an(.+?).', results)
    print(finalresults)

但是,似乎并没有成功。 请帮助。

您必须使用 \ 转义 .,尝试:

finalresults = re.search('is an(.+?)\.', results)

请注意 . 始终是一个通配符,直到您转义它。

此正则表达式使用 Positive lookbehind 和 Positive lookahead 来匹配字符串。

r'(?<=is an).*?(?=\.)'

注意: 这将不匹配 is an.

https://regex101.com/r/KGiGNQ/1

试试这样的东西:

import re

text = 'a is an b. kk is an c.c.'
try:
     found = re.search('is an(.+?)\.', text).group(1)
except AttributeError:
     found = '' 

print(found)