正则表达式,用于匹配包含特定后缀和定义结束词的单词的句子



我正在尝试匹配一个句子,其中包括一个具有特定后缀的单词和一个特定的单词在末尾。
例如句子模板将是;
"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")

相关内容

  • 没有找到相关文章

最新更新