Функция match очень нелогична и работает не так, как вы думаете.Вы можете обойтись без этого.Начиная с Open Refine 3 есть функция find , которая делает именно то, что вы хотите.:)
Попробуйте вместо этого:
value.find(/[0-9]+[.-][0-9]+[.-][0-9]+/).join(',')
Часть .join(',')
как раз на тот случай, если у вас есть несколько дат в одной строке.В противном случае это альтернатива:
value.find(/[0-9]+[.-][0-9]+[.-][0-9]+/)[0]
Только для записи , вы можете получить тот же результат с совпадением, используя этот ужас (который не будет работать так, как вы хотитеесли у вас есть несколько дат в одной строке)
value.match(/.*?([0-9]+[.-][0-9]+[.-][0-9]+).*/).join(',')