Я пытаюсь найти выражение регулярного выражения, которое соответствует строке, которая имеет только символы, не содержащие алфавита.Regex match, если String не имеет буквенно-цифровых символов
Например:
".."
будетtrue
".dds!f"
будетfalse
- и
"sdjhgfsjd"
будетfalse
.
Я пробовал str.matches("\\p{Punct}")
, но это похоже, похоже, соответствует одному символу связи. например. ".".matches("\\p{Punct}")
будет правдой, но "..".matches("\\p{Punct}")
будет ложным.
Я полагаю, что эквивалентный вопрос также должен совпадать, если в строке есть алфавитно-цифровой символ.
Не можете ли вы сделать то, что соответствует, и поставить перед собой '!'? Как '! StringVar.matches (" [A-Za-z0-9] ");' – AntonH
Прежде всего вам нужно добавить '+' для соответствия одному или нескольким '\ p {Punct}'. Второе: что относительно белых пространств (они не являются алфавитно-цифровыми, но также не '\ p {Punct}'), должны ли они быть сопоставлены или нет? Также должны быть сопоставлены символы, которые являются алфавитами на других языках рядом с английским, например 'źźć'? – Pshemo
Спасибо, что Pshemo добавил, что + работал. Я имел в виду, что если бы я мог получить выражение, сопоставляемое с любым буквенно-цифровым символом, я мог бы просто отрицать его и получить решение моего первоначального вопроса о сопоставлении строк, которые имеют только не буквенно-цифровые символы. Также в моем конкретном случае использования не должно быть пробелов или других символов языка. Еще раз спасибо. – user1893354