df['State'] = df.loc[df.text.str.contains('[edit]', regex=False), 'text'
    ].str.extract('(.*?)\\[edit\\]', expand=False)
df['Region Name'] = df.loc[df.State.isnull(), 'text'].str.extract(
    '(.*?)\\s*[\\(\\[]+.*[\\n]*', expand=False)
df.State = df.State.ffill()
df
df = df.dropna()
df
Создайте Pandas DataFrame из текстового файла с определенным шаблоном