我正在寻找一个正则表达式来提取以";包括:";并且以最后出现字符"之后的文本结尾;\n*";或";\n•";直到字符";\n〃;。换言之,我正试图找到一个作为"第一次出现"的结局;\n〃;就在最后一次出现";\n*";或";\n•〃;。我试过这个演示,但没有按我的意愿工作。我想把下一句话包括在内,直到";指导\n〃;。我正在使用python,并试图将其提取到我的pandas DataFrame中名为";技能";。";工作描述";列具有信息
df["Skills"]=df["Job description"].str.extract("including:((?:.)*\n[*|•])")
您可以使用
(?s)bincluding:(.*\n[*•]).*?\n(?![*•])
(?s)
内联修饰符使点与换行符匹配bincluding:
匹配前面有单词边界的including:
(
捕获组1.*\n[*•]
匹配到n
的最后一次出现,然后是*或•
(
关闭组1.*?\n
匹配到第一次出现n
Regex演示
或者当\n
是真正的换行时
(?s)bincluding:(.*n[*•]).*?n(?![*•])
Regex演示
例如
df["Skills"] = df["Job description"].str.extract(r"(?s)bincluding:(.*n[*•]).*?n(?![*•])")