如何检查字符串是否包含“ x”而不包含“ xy”?
所以我有这样的字符串:
"5103564-XY",
"77-546-00X",
"292196232",
"5102200X",
"5102205",
"5102251-EP".
...
我只需要在末尾带有字母“ x”的数字。有人可以帮助我在PHP中实现这一点吗?
所以,如果我尝试这样做:
$strings = array("5103564-AD", "77-546-00D", "292196232", "5102200D", "5102205", "5102251-EP");
print_r(preg_grep('/d$/i', $strings));
所以输出是这样的:
Array
(
[0] => 5103564-AD
[1] => 77-546-00D
[3] => 5102200D
)
但这不是期望的结果。我只需要只包含字母“ D”的字符串,而不需要只包含“ AD”或其他东西的字符串。我希望现在可以清楚一点,我需要什么/我的。
答案 0 :(得分:1)
使用preg_grep
在列表中仅找到以d
或D
结尾的值(不带前字母):
$strings = array("5103564-AD", "77-546-00D", "292196232", "5102200D", "5102205", "5102251-EP");
print_r(preg_grep('/[^a-z]d$/i', $strings));
输出:
Array (
[1] => 77-546-00D
[3] => 5102200D
)