如何检查字符串是否包含 "x" 但不包含 "xy"
How I can check if a string contais "x" but not "xy"
如何检查字符串是否包含 "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" 或其他内容。我希望现在更清楚了,我 need/mine.
使用 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
)
如何检查字符串是否包含 "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" 或其他内容。我希望现在更清楚了,我 need/mine.
使用 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
)