$re = '/(SAIL_Recipes\.md)(\#)(.*?)(?=\))/mi';
$str = '
Now instead of numbers in the status column, there are words like *Assigned* and *Completed*. For an example that uses an image column to display an icon for process statuses, see the [Display Processes by Process Model with Status Icons](SAIL_Recipes.md#Display_Processes_by_Process_Model_with_Status_Icons) SAIL recipe.
## <a id="Add_a_Predefined_Filter"></a> Add a Predefined Filter ##
(#Display_Processes_by_Process_Model_with_Status_Icons) SAIL recipe.';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php