首页 > 解决方案 > 正则表达式:如何在某个单词之后按字母顺序查找任意长度的单词

问题描述

如果给定一个像 PLEASE 这样的单词,我可以写什么正则表达式来匹配字典中该单词之后的任何单词,按字母顺序排列。

例如,给定 PLEASE: APPLE 将不匹配,但 POST 将匹配,POW 将匹配,MEAGER 将匹配,等等。它后面的任何内容按字母顺序排列。

我特别挣扎,因为长度可以变长或变短。RegEx 是必需的,我不能使用任何其他搜索工具。

标签: regex

解决方案


你可以使用类似的东西:

^(?:[Q-Z]|P[M-Z]|PL[F-Z]|PLE[B-Z]|PLEA[T-Z]|PLEAS[F-Z]|PLEASE\w)\w*$

此正则表达式匹配以以下开头的单词:

  • 一封来自QtoZ
  • P后跟来自MtoZ
  • PL后跟来自FtoZ
  • PLE后跟来自BtoZ
  • PLEA后跟来自TtoZ
  • PLEAS后跟来自FtoZ
  • PLEASE后跟任何其他字母

注意:这仅适用于没有变音符号的拉丁字母。

看演示


推荐阅读