我正在尝试匹配一个句子,其中包括一个具有特定后缀的单词和一个特定的单词在末尾。
例如句子模板将是;
"word word word(不管前面有多少个单词)wordSUFFIXthatspecificword !">
我已经试过了,但是无法匹配开头的单词。
(w+)(SUFFIX)s+thatspEcificword(suffix)?
应该可以:
正则表达式.*(b.*SUFFIXb).*(specificword)$
看到演示
解释.*
-查找0个或多个任意类型的字符(b.*SUFFIXb)
-搜索以后缀 结尾的单词(specificword)$
-搜索"特定词";
注意:
如果不能匹配整个单词都是SUFFIX,则需要将正则表达式更改为:
.*(b.+SUFFIXb).*(specificword)$
.+
确保在后缀
由于问题标签与python相关,我们将尝试从python的角度来回答。
如果您只是想要以SUFFIX thatspecificword
结尾的字符串,那么您可以简单地编写如下代码-
pattern = "SUFFIX thatspecificword"
s = "word word word (doesn't matter how many words before) wordSUFFIX thatspecificword"
if s.endswith(pattern):
print("match found")
else:
print("match not found")
但是如果你想要以wordSUFFIX thatspecificword
结尾的字符串,其中word
可以是任何单词,即SUFFIX
必须是单词后缀,那么你可以看看python内置的名为re
的包,它处理正则表达式-
import re
pattern = "wSUFFIX thatspecificword$"
s = "word word word (doesn't matter how many words before) wordSUFFIX thatspecificword"
if re.search(pattern, s):
print("match found")
else:
print("match not found")