Я хочу разрешить буквенные числовые значения и только несколько специальных символов в моей строке.Java regex pattern не работает как указано
регулярное выражение [a-zA-Z0-9[@#%&\\s]]
Когда я попытался с Matcher.find(), он говорит, правда, даже если я использовал другие специальные символы в строке. Пример: welcome123^456
. Он должен быть ложным (несоответствующим).
Когда я использовал String.matches(), он говорит false, даже для правильного шаблона. Пример: [email protected]
. Предполагалось, что это произойдет. Но я становлюсь ложным.
Ниже приведены только 5 специальных символов, которые я хочу разрешить вместе с цифрами Alpha +. @ #% $ &
Для Ex: welcome123 # - должен получить истинные
welcome123 $ - должно получить истинную
welcome123_ - должно получить ложные (., Потому что подчеркивание не допускается)
приветственного $ @ - должно получить истинное
1234 $ @ - должен получить истинный
Что такое «несколько специальных символов», которые вы упоминаете? Включают ли они открытые и закрытые квадратные скобки ('' и '' ')? – Edd
Для начала. Вы ищете только 1 символ/цифру/символ. Таким образом, match() терпит неудачу. используйте '[a-zA-Z0-9 [@ #% & \ s]] +" '. Кроме того, почему 2' ['s? – TheLostMind
Пожалуйста, покажите нам пример того, что вы пробовали, в коде. –