![](/img/trans.png)
[英]RegEx : Check if a string has any substring between quotes containing at least 3 words (separated by spaces)
[英]Regex to check words in string are separated only by spaces and not by _AND_/_OR_ python
python中的正則表達式,用於檢查字符串中的單詞是否_AND_,_OR_
類的單詞_AND_,_OR_
而僅由空格分隔。
下划線的含義是AND / OR字詞前后的空格。
例如:
1.) foo AND bar
應該失敗
2.) foo AND bar cafe
_AND_
應該失敗,因為它有_AND_
3.) foo AND bar OR cafe foobar baz
_AND_/_OR_
失敗,因為其中包含_AND_/_OR_
4.) foo bar baz foobar
_AND_/_OR_
通過,因為它僅由空格分隔,沒有_AND_/_OR_
5.) fooANDbarOR bar
傳遞,因為它不由_AND_/_OR_
。
我知道如何檢查單詞是否由_AND_/_OR_
->
\W(:?AND|OR)\W
我知道如何檢查單詞是否用空格隔開->
\w\s
但是我不知道如何將這兩種東西結合起來,使得字符串僅用空格分隔,而不用_AND_/_OR_
您可以使用
^(?:[\w ](?! (AND|OR) ))+$
重復的[\\w ]
可確保所有字符均為文字字符或空格,僅此而已。 在每個字符之后,對(AND|OR)
進行否定的前瞻,以確保這兩個都不是獨立的單詞:
https://regex101.com/r/LyRr5U/2
如果您還想排除獨立的單詞,請在正則表達式的開頭添加正向前行,以確保在字符串中的某些單詞字符之間用空格分隔:
^(?=.*\w +\w)(?:[\w ](?! (AND|OR) ))+$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.