• What about avoiding the pattern match and check for valid date values?

    DECLARE @searchString varchar(1500);

    SET @searchString='03/09/2017 07:52 AM | Lastname, Firstname | Completed - irrelevant note.';

    SELECT CASE WHEN TRY_CONVERT( datetime, SUBSTRING( @searchString, 0, CHARINDEX('|', @searchString))) IS NOT NULL THEN 'dateFirst' ELSE 'somethingElse' END;

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2