Вы можете превратить не жадного .*?
в класс отрицанных символов [^,]+
и сопоставить любой символ, кроме запятой. Затем сделайте часть URL необязательной, используя необязательную группу без захвата (?:...)?
. Вы хотите захватить значение URL-адреса, используя .*
, но это также может совпадать с пустой строкой.
Вы можете сделать шаблон более точным c, сопоставив хотя бы один непробельный символ \S+
или использовать шаблон, например, указав начало https?://\S+
URLReputation:\s*([^,]+)(?:,\s*URL:\s*(\S+))?
Regex demo