如何使用正则表达式找到首次出现的字母(a-z)不区分大小写的位置?
$string = "(232) ABC";
我希望看到数字7返回,因为A位于第7位
我找到了以下内容,但似乎并不适用于所有字符串:
preg_match("/^[a-z]+$/i", strtolower($tel_current), $matches, PREG_OFFSET_CAPTURE);
E.g。它不适用于以下内容:
"(520) 626-1855 kafds r";
我只是得到一个空数组。
答案 0 :(得分:5)
你是说这个?
<?php
preg_match('/[a-z]+/i', '|Tel: (520) 626-1855 kafds r', $matches, PREG_OFFSET_CAPTURE);
var_export($matches);
?>
输出:
array (
0 =>
array (
0 => 'Tel',
1 => 1,
),
)
找到字符串kafds r
的位置,
<?php
preg_match('/(?<=\d )\w+ \w+/i', '|Tel: (520) 626-1855 kafds r', $matches, PREG_OFFSET_CAPTURE);
var_export($matches);
?>
输出:
array (
0 =>
array (
0 => 'kafds r',
1 => 21,
),
)