如果最后三个字符包含两个字母,则 PHP 正则表达式匹配



基本上我有这个,但它要么或:

[en].{0,2}$

我想做的是检测"en"而不是"e"或"n"。只是按该顺序"en",但在最后三个字符中。

所以它应该匹配

attend

但不是:

attained

因此,它必须检测最后三个字符是否按顺序包含"en"。

只是按该顺序"en",但在最后三个字符中。

这意味着您需要匹配字符串末尾的en或字符串末尾后面有任何单个字符en

您可以使用

en.?$

查看正则表达式演示

  • en-en子字符串
  • .?- 任何可选字符
  • $- 字符串结尾。

如果输入中可能有换行符,请使用s修饰符:/en.?$/s

如果bean也可以接受,请使用以下正则表达式:

/e.?n$|en.?$/g

[Regex Demo]

您可以使用正则表达式

^.*(?=.*en.*).{3}$

查看正则表达式 101 演示

如果你想让最后三个字符以 en 开头,你可以使用这个正则表达式

en.$

如果您希望最后三个字符以 en 结尾,您可以使用此正则表达式

.en$

如果两种情况都可以接受,您可以使用此正则表达式

(.en|en.)$