在字符串中查找特定单词+;不管用什么词+;特定单词python

在字符串中查找特定单词+;不管用什么词+;特定单词python,python,regex,string,find,Python,Regex,String,Find,我想在字符串中找到一个单词组合,其中一些/大多数单词是特定的,但一个可以是任何单词(任何单词、字符) 我知道现在可以实现regex,但到底是什么和如何实现有点混乱,所以谢谢 您正在寻找运算符,它是任何字符的通配符。例如,在您的示例中,您可以编写表达式 r'cats and .+ dogs` 这意味着“查找字符串cats和(注意空格),然后查找所有字符,直到有另一个空格后跟dogs”。如果您想限制和以及狗之间匹配的字符,您可以使用类似[a-z]的内容,而不仅仅是来限制小写字母的匹配。您是对的。你

我想在字符串中找到一个单词组合,其中一些/大多数单词是特定的,但一个可以是任何单词(任何单词、字符)


我知道现在可以实现regex,但到底是什么和如何实现有点混乱,所以谢谢

您正在寻找
运算符,它是任何字符的通配符。例如,在您的示例中,您可以编写表达式

r'cats and .+ dogs`

这意味着“查找字符串
cats和
(注意空格),然后查找所有字符,直到有另一个空格后跟
dogs
”。如果您想限制
以及
之间匹配的字符,您可以使用类似
[a-z]
的内容,而不仅仅是
来限制小写字母的匹配。

您是对的。你可以用re来做这个

import re
>>> re.findall(r"cats and.*dogs", sentence)
['cats and seven dogs']

使用
重新搜索
并使用
*
查找通配符:

sentence = 'There are five cats and seven dogs at the park.'
find = re.search(r'cats and .*dogs', sentence)
if find:
    print(find[0])
印刷品:

'cats and seven dogs'
谢谢大家!

sentence ='There are five cats and seven dogs at the park.'
find_in = re.search(r'cats and \S+ dogs', sentence)
if find_in:
    print(find_in)

那么你想在同一个字符串中匹配猫和狗?狗和猫的顺序重要吗?你的
find_in_string
实际上是多个单词吗?如果是,我们如何确定句子中必须包含哪些单词?我们是否从字符串中删除重复项(例如,
字符在字符串中显示3次,但没有显示3次)?我们是否使用
find_in_string
变量,就好像它是要匹配的单词列表一样?这个问题很广泛,谢谢你的提问,恐怕我不够具体。1.是的,在同一条线上。2.秩序很重要。3.“和”和“狗”之间应该只有一个单词(在本例中为七个)。然后您可以尝试
猫和\S+狗
,甚至在
\w
[a-Za-z0-9.]
@ctwheels的地方,如果要以这种方式工作,我应该如何编写它-现在这不起作用<代码>在字符串中查找=r'cats and\S+dogs'
如果在句子中的字符串中查找:打印(在字符串中查找)
sentence ='There are five cats and seven dogs at the park.'
find_in = re.search(r'cats and \S+ dogs', sentence)
if find_in:
    print(find_in)