gpt4 book ai didi

python - 使用正则表达式提取Python中两个模式之间的文本

转载 作者:行者123 更新时间:2023-11-30 09:34:00 24 4
gpt4 key购买 nike

我正在尝试提取所有文本包括类别(即 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) 是单词边界

See a demo on regex101

关于python - 使用正则表达式提取Python中两个模式之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48472346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com