2014-03-28 2 views
-2

preg_match을 사용하여 문자열의 일부 데이터를 추출하려고합니다. 문자열의 형식은해야합니다 :PHP preg_match가 일치하지 않습니다.

Job Title (1234567) City, State, Country 

을 그리고 나는 그것을 다시 일치하도록이 정규식을 사용하려고 해요 : 온라인 정규 표현식 테스터를 사용

$pattern = '/(?P<jobTitle>[a-zA-Z0-9\s]+) \((?P<jobCode>[0-9]+)\) (?P<Location>[a-zA-Z0-9,\s]+)/'; 
preg_match($pattern, $html, $matched_data); 

가, 내가 찾고 있어요 성냥을 받고 있어요 왜냐하면 내가 이것을 실행할 때 나는 이것을 얻는다. $matched_data :

array(0) { 
} 

어떤 아이디어라도?

+0

'$ html'에는 문자열 이외의 것이 포함될 수 있습니까? html 태그와 같은? – Jerry

+0

$ html :'string (69) '의'var_dump()'입니다. Account Executive (12345567) 뉴욕, 뉴욕, 미국'' – Samsquanch

답변

1

일부 팬텀 공백이 문제였습니다. 이 패턴은 문제를 수정했습니다 :

$pattern = '/(?P<jobTitle>[a-zA-Z0-9\s]+)[\s]+\((?P<jobCode>[0-9]+)\)[\s]+(?P<location>[a-zA-Z0-9,\s]+)/'; 
관련 문제