-3

私はひもを持っています、

   DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M 

不明な量の空白を使用して、5 ~ 15 桁の電話番号を抽出しようとしています。また、最後の文字 (性別) と名前も必要です。

そうする正確なパターンは何ですか?

4

2 に答える 2

0
$subject = "DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M";
$pattern = "/[a-z]+\s+[a-z]+\s+\d+\s+[^\d]+\s*(\d+\s*\d+\s*\d+)\s+[a-z\-]+\s+\d+\s+([a-z])/i";

preg_match($pattern, $subject, $matches);

$matches[1] には電話番号が含まれ、$matches[2] には性別が含まれます。

このため、列 1、2、4、5、および 9 には文字のみが含まれ、3、6、7、8、10 には数字のみが含まれると想定しました (性別は文字でなければなりません)。

ただし、文字だけでなく数字も必要な場合は、それぞれの列の[az]または\d[a-z0-9]に置き換えてください ( \sは空白です) 。

于 2012-09-19T08:56:07.820 に答える
0

電話の場合 試すことができます:

$subject = "DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M";
preg_match_all("/([0-9]|\s).+{5,15}(\s)/si", $subjectt, $matches);
于 2012-09-19T08:58:29.447 に答える