PHP preg_match没有得到匹配

时间:2014-03-28 20:33:39

标签: php regex

我尝试使用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) {
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

事实证明问题是一些虚幻的空白。这种模式解决了这个问题:

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