我需要一个正则表达式的帮助,它在开头找到前两个单词,然后在后面只取前两个句子,不管文本中出现了多少实例。你知道吗
text = "The Smithsonian museum is home to a variety of different art displays. According various reports art appreciation is on the rise. Blah blah blah blah. The Smithsonian museum blah blah blah. Blah blah blah blah."
我的代码如下所示:
(re.findall(r"""((The Smithsonian|The Metropolitan)[^\.]*\.[^\.]*\.)""", text))
然而,这是返回多个实例,而不仅仅是前两句话,而且常常返回垃圾,如“史密森尼”,在最后。你能帮忙吗?谢谢!你知道吗
我不是python开发人员,但问题似乎是您正在使用
findall
,因此据我所知,您可以使用finditer
(并搜索第一次迭代)或search
来查找一个匹配对象。你知道吗但是,如果要使用
findall
,则可以将^
锚点添加到正则表达式中:regex demo
试试这个:
有了这个
regex
,你不必为句子的任何开头短语编写硬代码。它将精确匹配一个句子的两次出现,后跟下一个句子前面的空格。你知道吗下面是它的测试链接:https://regex101.com/r/mJ4oR7/2
这是假设
string
中没有特殊字符。你知道吗相关问题 更多 >
编程相关推荐