2015-08-11 2 views
-4

Я хочу регулярное выражение, которое соответствует строке с комбинацией символов с алфавитами a-j/A-J и даже символами &|(). У меня есть строки, как показано ниже примеров:Как создать регулярное выражение для строки с разной комбинацией символов

(((B&C)&E)|F)|A|D 
A&B&C|D|F&E 
A|D|(E|(B&(F&C))) 

Допустимые символы приемлемых в строке являются алфавитами a-j и A-J. Другие допустимые символы: &|(). Я должен оценить строку, используя регулярное выражение, если она содержит только допустимые символы

+1

добавить некоторые примеры, которые помогут нам лучше понять, что вам нужно – vefthym

+2

разработать на @vefthym, включите, пожалуйста, а [ MVCE] (http://stackoverflow.com/help/mcve). –

+0

"abcedfghij & |()" действительно? "abc & |() def" valid? является ли "AAA &&&" действительным? действует? – vefthym

ответ

0

SMTH так: [a-jA-J]|\||\&|\(|\)

+1

Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно того, почему и/или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. – JAL

+0

Вышеуказанное не работает, поскольку оно считается недопустимой последовательностью. Ниже приведен код Строка формулы = "((A & B) & (AA & C)) | C"; Строковое регулярное выражение = "[a-jA-J] | \ || \ & | \ (| \)"; Matcher matcher = pattern.matcher (формула); if (formula.matches (regex)) { formulaArr = formula.toCharArray(); } – user5189893

Смежные вопросы