[英]Extract text between two pattern in python using regex
我正在嘗試提取包括類別(即A,B,C)的所有文本。
A <some text1>
B <some text2>
C <some text3>
但是,當我應用此正則表達式時-
ptrn='\n[A-z]*\t'
pattern1= '(.*)'+ptrn
f = re.findall(pattern1,test_doc)
它給我
f[0] = A <some text1>
f[1] = <some text2>
f[2] = <some text3>
但我想要 -
f[0] = A <some text1>
f[0] = B <some text2>
f[2] = C <some text2>
http://csmining.org/tl_files/Project_Datasets/r8%20r52/r8-test-all-terms.txt
此鏈接包含許多文檔的一些原始文本。 每個文檔具有以下模式:
category<tab><sometext> \n
因此整個語料庫看起來像這樣:
category<tab><sometext1> \n
category<tab><sometext2> \n
.
.
我想要
doc[0] = category<tab><sometext1>
doc[1] = category<tab><sometext2>
.
.
and so on
任何答案/提示都將非常有幫助:)
嘗試以下模式:
import re
pattern = r"(\w+)(\t)(.*)(\b)"
說明
(\\w+)
匹配任何單詞字符一次或多次 \\t
從字面上匹配制表符 (.*)
匹配除行終止符之外的所有內容 (\\b)
是單詞邊界
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.