私はひもを持っています、
DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M
不明な量の空白を使用して、5 ~ 15 桁の電話番号を抽出しようとしています。また、最後の文字 (性別) と名前も必要です。
そうする正確なパターンは何ですか?
私はひもを持っています、
DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M
不明な量の空白を使用して、5 ~ 15 桁の電話番号を抽出しようとしています。また、最後の文字 (性別) と名前も必要です。
そうする正確なパターンは何ですか?
$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は空白です) 。
電話の場合 試すことができます:
$subject = "DXD RO 012345 SMITH JOHN 094 5251 907 REQ 008313 M";
preg_match_all("/([0-9]|\s).+{5,15}(\s)/si", $subjectt, $matches);