Я опаздываю, но я здесь с хорошими исследовательскими данными, основанными на функциях, предоставленных ответом Скотта . Таким образом, я установил каплю Digital Ocean только для этого 5-дневного автоматизированного теста и сохранил созданные уникальные строки в базе данных MySQL.
В течение этого периода тестирования я использовал 5 различных длин (5, 10, 15, 20, 50) и +/- 0,5 миллиона записей для каждой длины. Во время моего теста только длина 5 генерировала +/- 3K дубликатов из 0,5 миллиона, а оставшиеся длины не генерировали дубликатов. Таким образом, мы можем сказать, что если мы будем использовать длину 15 или выше с функциями Скотта, тогда мы сможем создать высоконадежные уникальные строки. Вот таблица, показывающая мои исследовательские данные:
Надеюсь, это поможет.
Попробуйте это регулярное выражение (?<![0-9])([0-9]{2}[.][0-9]{1,2}(?![0-9]))
Вы можете использовать границы слов, чтобы избежать частичного совпадения цифр в большем числе, используя это регулярное выражение,
\b\d{2}\.\d{1,2}\b