Я пишу регулярное выражение, которое может фиксировать значение и любое мБ, кб, гб, байт, который приходит после того, как регулярное выражение:Regex ([mb | kb | gb | b | bytes]) не соответствует 'b' в 'kb' или 'gb' без + после привязок
(?<sizevalue>\p{N}+)(?:\s*)(?<sizetype>[mb|kb|gb|b|bytes])
Но когда данный вход «4096 мб», группа sizetype соответствует только «т» и не «B». добавив «+» квантификатор после того, как фигурные скобки выдают значение grop sizetype как «mb». Шаблон был скомпилирован с CASE_INSENSITIVE, так что это не было проблемой. Это работает
(?<sizevalue>\p{N}+)(?:\s*)(?<sizetype>[mb|kb|gb|b|bytes]+)
В идеале не должны полностью первого регулярного выражения совпадает с «» мб?
Вам необходимо '()', где у вас есть '[]'. Выражение в квадратных скобках соответствует только одному символу. –