Python 单词的模式存在于字符串中

Python 单词的模式存在于字符串中,python,regex,string,parsing,Python,Regex,String,Parsing,我想知道字符串中是否存在某种类型的单词。例如,在下面的字符串中,我想知道是否出现了单词“wish”和“allow”。这里,排序问题,所以我只想在“允许”之前出现“希望”时返回True。 “我希望平台能够允许用户更改设置” 结果:正确 反例: “我允许我的设置更改,只希望可以更改” 结果:错误 任何帮助都将不胜感激我访问并创建了一个满足您需要的正则表达式: /wish(.?|.*)allow/ 这意味着“在文本中的任意位置找到单词‘wish’,后跟零、一个或多个其他字符,后跟单词‘allow’”

我想知道字符串中是否存在某种类型的单词。例如,在下面的字符串中,我想知道是否出现了单词“wish”和“allow”。这里,排序问题,所以我只想在“允许”之前出现“希望”时返回True。 “我希望平台能够允许用户更改设置” 结果:正确 反例: “我允许我的设置更改,只希望可以更改” 结果:错误

任何帮助都将不胜感激

我访问并创建了一个满足您需要的正则表达式:

/wish(.?|.*)allow/
这意味着“在文本中的任意位置找到单词‘wish’,后跟零、一个或多个其他字符,后跟单词‘allow’”


Regex101.com是构建Regex表达式的绝佳沙箱。每当我不确定正则表达式模式匹配应该如何格式化时,我都会使用这个工具

您可以尝试使用我用javascript实现的概念

你总是会得到一个苹果,它出现在南瓜之前

<html>
<body>

<p>Click the button to display the last position of the element "Apple" before pumpkin</p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {
    var fruits = ["Banana","Orange","Apple","Mango","Banana","Orange","Apple","Mango","pumpkin","Apple"];
    var a = fruits.indexOf("pumpkin");
    var b = fruits.lastIndexOf("Apple",a);
    var x = document.getElementById("demo");
    x.innerHTML = b;
}
</script>


</body>
</html>

单击按钮以显示元素“Apple”在南瓜之前的最后位置

试试看

函数myFunction(){ var水果=[“香蕉”、“橙子”、“苹果”、“芒果”、“香蕉”、“橙子”、“苹果”、“芒果”、“南瓜”、“苹果”]; var a=水果指数(“南瓜”); var b=水果。lastIndexOf(“苹果”,a); var x=document.getElementById(“演示”); x、 innerHTML=b; }
您实际上不需要正则表达式:

def checkwordorder(phrase, word1, word2):
    try:
        return phrase.lower().index(word1.lower()) < phrase.lower().index(word2.lower())
    except ValueError:
        return False

>>> checkwordorder('I wish the platform gave the ability to allow one to change settings', 'wish', 'allow')
True
>>> checkwordorder('I allowed my setting to change, only wish this could be reversed', 'wish', 'allow')
False
def checkwordorder(短语、单词1、单词2):
尝试:
返回phrase.lower().index(word1.lower())>>checkwordorder('我希望平台能够允许用户更改设置','希望','允许')
真的
>>>checkwordorder('我允许更改我的设置,只希望可以反转','希望','允许')
假的

更改了标记,使其更加相关,它与
nlp
nltk
没有多大关系。