【发布时间】:2020-03-06 11:29:10
【问题描述】:
我有一个列表,我想从具有以下模式的元素中提取部分文本:
<Start of string><Less than 30 characters> advocate. versus
我只想要<Start of string><Less than 30 characters> 部分
我认为应该可以工作但没有成功的代码:
a = re.search('^.{,30}advocate. versus', text).group(1)
和
a = re.search('^(.{,30})advocate. versus', text).group(1)
除了这些,我也试过了
a = re.search('^(.*)advocate. versus', text).group(1)
这行得通,但我只想要少于 30 个字符,而不是任意数量的字符。
例子:
考虑包含两个项目的列表:
['先生。 Rajesh Bhardwaj,辩护律师……上诉人通过高级常务律师 Prem Lata Bansal 女士与辩护律师 Vishnu Sharma 先生。与 PRADEEP KUMAR SAHNI 相比 ..... 受访者没有”,“Vishnu Sharma 先生,倡导者。与 JYOTI APPARELS']
我想从第二个元素中提取文本,该元素在“advocate.vs”之前少于 30 个字符,而不是从第一个元素中提取超过 30 个字符的文本。基本上,我想从第二项中获得这个:
Mr.Vishnu Sharma,
忽略列表中文本的大小写,假设所有内容都是小写的。
任何帮助将不胜感激。
【问题讨论】: