Я хотел бы написать Java regex, где плюс в начале является необязательным
Я стараюсь, но не работает правильно
[+]+[0-9]{3,}
так что +123 и 123 действительны
Что я делаю неправильно?
Как сказал Хамза ниже, используйте [+]?[0-9]{3,}
. Значок вопроса означает один или ни один из предыдущих, который в этом случае означает один или нет + перед тремя числами.
+
означает совпадение с предыдущим токеном один или несколько раз. Использовать?
на ноль или один раз, что означает необязательный :) Дальнейшее чтение