在字符串中查找第一个字母的位置

时间:2014-07-02 12:17:32

标签: php regex

如何使用正则表达式找到首次出现的字母(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";

我只是得到一个空数组。

1 个答案:

答案 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,
  ),
)