php中匹配几个字母的判断,php – 用于在某个字母之前或之后查找字母的正则表达式...

我想出了一种没有RegEx的方法,但是你的条件仍然匹配:

function my_func($str) {

$letters = 'abcdefghijklmnopqrstuvwxyz';

$match = true; // Will be set to false if does not match conditions

$l1pos = strrpos($letters, $str[0]);

$l2pos = strrpos($letters, $str[1]);

$l3pos = strrpos($letters, $str[2]);

$l4pos = strrpos($letters, $str[3]);

$l5pos = strrpos($letters, $str[4]);

// If letter 2 comes before letter 1

if ($l2pos < $l1pos) { $match = false;}

// If letter 3 comes before letter 2

if ($l3pos < $l2pos) { $match = false; }

// If letter 4 comes after letter 3

if ($l4pos >= $l3pos) { $match = false; }

// If letter 5 comes after letter 4

if ($l5pos >= $l4pos) { $match = false; }

return $match;

}

您可以像这样使用它:

$string = 'apple';

if (my_func($string)) {

print 'Matched!';

}

else {

print 'Not Matched. :(';

}

如果你想让函数真的很小,你可以使用以下代码:

function my_func($str) {

$letters = 'abcdefghijklmnopqrstuvwxyz';

$match = true;

function m($i) {

return strrpos($letters, $str[$1]);

}

if ((m(1) < m(0)) || (m(2) < m(1)) || (m(3) >= m(2)) || (m(4) >= m(3))) {

$match = false;

}

return $match;

}

我也尝试过RegEx,并得到以下信息:

^([a-z]) # First Letter

([\1-z]) # Second Letter

([\2-z]) # Third Letter

([a-\3]) # Fourth Letter

([a-\4]) # Fifth Letter

但是,在将a或z动态设置为先前捕获的组之一时,不能使用a-z.你可以使用PHP连接来创建一个RegEx,但这需要至少4行代码,每个字母只有第一行.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值