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

Loc*_*ock 0 php regex

如何使用正则表达式找到首次出现的字母(az)不区分大小写的位置?

$string = "(232) ABC";
Run Code Online (Sandbox Code Playgroud)

我希望看到数字7返回,因为A位于第7位

我找到了以下内容但它似乎不适用于所有字符串:

preg_match("/^[a-z]+$/i", strtolower($tel_current), $matches, PREG_OFFSET_CAPTURE);
Run Code Online (Sandbox Code Playgroud)

例如,它不适用于以下情况:

"(520) 626-1855 kafds r";
Run Code Online (Sandbox Code Playgroud)

我只是得到一个空数组.

Avi*_*Raj 5

你是这个意思?

<?php
preg_match('/[a-z]+/i', '|Tel: (520) 626-1855 kafds r', $matches, PREG_OFFSET_CAPTURE);
var_export($matches);
?>
Run Code Online (Sandbox Code Playgroud)

输出:

array (
  0 => 
  array (
    0 => 'Tel',
    1 => 1,
  ),
)
Run Code Online (Sandbox Code Playgroud)

要找到字符串的位置kafds r,

<?php
preg_match('/(?<=\d )\w+ \w+/i', '|Tel: (520) 626-1855 kafds r', $matches, PREG_OFFSET_CAPTURE);
var_export($matches);
?>
Run Code Online (Sandbox Code Playgroud)

输出:

array (
  0 => 
  array (
    0 => 'kafds r',
    1 => 21,
  ),
)
Run Code Online (Sandbox Code Playgroud)