Поскольку сопоставить пустую строку нелегко, но обычно можно сопоставить все, что не является пустой строкой, рассмотрите возможность перевернуть ее, и не соответствует напротив (двойной отрицательный).
В этом примере все, что не (^
) * не -разрядный (\D
) для нуля или один раз (?
):
[^\D]?
(или для конкретного ascii: [^\x00-\x29\x3a-\xff]?
, или Unicode: [^\u0000-\u0029\u003a-\uffff]?
)
Соответствует "" ( <пустая строка> ), "0
", "1
" .. "9
", но не"
", ()," A
"(без цифр) или" 123
"(любая более длинная строка).