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

时间:2017-08-27 18:01:56

标签: php regex preg-replace preg-match

基本上我有这个但是它或者:

[en].{0,2}$

我想要做的是检测'en'而不是'e'或'n'。只是'en'按顺序排列,但最后三个字符。

所以它应匹配

attend

但不是:

attained

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

4 个答案:

答案 0 :(得分:4)

  

Just' en'按顺序但最后三个字符。

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

您可以使用

en.?$

请参阅regex demo

<强>详情

  • en - en substring
  • .? - 任意可选字符
  • $ - 字符串结束。

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

答案 1 :(得分:1)

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

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

[Regex Demo]

答案 2 :(得分:0)

你可以使用正则表达式

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

请参阅regex 101 demo

答案 3 :(得分:0)

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

en.$

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

.en$

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

(.en|en.)$