当在字符串python中发现一个句子时,如何提取下一个单词



我正在努力寻找一种有效的方法,如果找到一个字符串中的句子,然后提取后面的下一个单词,例如-

string_text = """"
create table AWSBilling202004(identity_LineItemId VARCHAR(512), identity_TimeInterval VARCHAR(512),
create table AWSBilling202004_tagMapping (remappedUserTag VARCHAR(512), userTag VARCHAR(512));
insert into AWSBilling202004_tagMapping(remappedUserTag, userTag) values('userTag4', 'user:BillingTeam'
create table AWSBilling202004_costCategoryMapping (remappedCostCategory VARCHAR(512), costCategory VARCHAR(512));
""""

在上面的文本中,每当找到create table时,我都想提取它之后的下一个单词。上述代码的输出应为

AWSBilling202004
AWSBilling202004_tagMapping
AWSBilling202004_costCategoryMapping

正如您在上面看到的,当发现一个(时,单词一直被提取到那个点。

我一直在研究regex解决方案,但发现很难将它们用于我的用例。如果有任何指导或帮助,我将不胜感激。

这对我有效

import re
def get_next_words(text, pattern):
return re.findall("%ss+([a-zA-Z0-9_]+)"%(pattern), text)

string_text = '''
create table AWSBilling202004(identity_LineItemId VARCHAR(512), identity_TimeInterval VARCHAR(512),
create table AWSBilling202004_tagMapping (remappedUserTag VARCHAR(512), userTag VARCHAR(512));
insert into AWSBilling202004_tagMapping(remappedUserTag, userTag) values('userTag4', 'user:BillingTeam'
create table AWSBilling202004_costCategoryMapping (remappedCostCategory VARCHAR(512), costCategory VARCHAR(512));
'''

print(get_next_words(string_text, "create table"))

最新更新