У меня есть строка (путь к unc-файлу), которая мне нужна для извлечения некоторых целых чисел, которые будут встраиваться в строку полу-предсказуемым образом.
Примеры строк:
\\servername\folder1\FTP\folder2\512/862450_FileBundle.zip
--OR-- : \\servername\folder1\FTP\folder2\512\862450_FileBundle.zip
--OR-- : servername/folder1/FTP/folder2/512/862450_FileBundle.zip
Следующее регулярное выражение регулярного выражения будет соответствовать любому целочисленному значению, ограниченному прямой или обратной косой чертой: (\/|\\)\d+(\/|\\)
Таким образом, приведенный выше REGEX будет соответствовать "\ 512 \" или "\ 512 /"или "/ 512 /" или даже "/512\".
Я безуспешно пробовал следующие SQL и другие варианты:
DECLARE @testString varchar(50) = '\\servername\folder1\FTP\folder2\512/862450_FileBundle.zip'
SELECT PATINDEX('%(\/|\\)\d+(\/|\\)%', @testString)
Я не очень знаком с REGEXи SQL, так что я даже не уверен, что это возможно.