Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将单词序列与正则表达式匹配_Python_Regex - Fatal编程技术网

Python 将单词序列与正则表达式匹配

Python 将单词序列与正则表达式匹配,python,regex,Python,Regex,我有一个字符串列表,我只想从中提取项目名称,如果有空格的话 字符串保留在名为0的列中,索引仅供参考 例如,从每个索引行中,我希望得到以下结果: 指数-预期结果 0-BOV BCONTRA 1-BF副作用C 2-库宾霍斯DACE 。。。等等 请注意,inline 25所需的结果与前面带有空格的数字没有分开 索引行30中的单词行之间可能有一个点 我尝试了re.findall(r“\n\d{1,2}\d+(\b\w+\b)”),但没有成功 另外re.findall(r“\n\d{1,2}\d+(?\w

我有一个字符串列表,我只想从中提取项目名称,如果有空格的话

字符串保留在名为
0
的列中,索引仅供参考

例如,从每个索引行中,我希望得到以下结果:

指数-预期结果

0-BOV BCONTRA

1-BF副作用C

2-库宾霍斯DACE

。。。等等

请注意,inline 25所需的结果与前面带有空格的数字没有分开

索引行30中的单词行之间可能有一个点

我尝试了
re.findall(r“\n\d{1,2}\d+(\b\w+\b)”)
,但没有成功

另外
re.findall(r“\n\d{1,2}\d+(?\w+)”
只给我带来第一个单词,我想要所有的单词,而不仅仅是第一个

行以列表中未打印的
\n
字符开头


因此,基本上,文本上需要所有大写字符串。 试试这个表达式,它将得到所有有空格或没有空格的文本

re.findall('[A-Z]+[ A-Z]*', text)

似乎您想要的是
[A-Z.]+
,而不是“单词”(由
r'\w'
表示),以 整数

这就是正则表达式字符串:
r'\d+\d+([A-Z.]+)\d+'


我不知道你说的每行前面都有新行是什么意思。如果您有一个包含行的字符串,最好使用
string.splitlines()
将输入拆分为行,然后在每个相关行上进行线性正则表达式匹配(
re.match
,因此正则表达式只从开始匹配)。

请提供文本输入示例,而不是文本图像。