Как эффективно объединить ch..+ и ch..- в регулярном выражении без необходимости отдельного сканирования? И мы используем matcher в шаблоне?
ch..+
ch..-
matcher
Мой выходной код выглядит так:
ch01+ ch01- ch02+ ch02- ...
Вы можете использовать класс символов , содержащий только "+" и "-", например "[+-]".
[+-]
Pattern p = Pattern.compile("ch..[+-]"); Matcher m = p.matcher("ch01+"); if (m.find()) { // found it...
Как эффективно объединить ch..+ и ch..- в регулярном выражении без необходимости отдельного сканирования?
Используйте | (труба) для чередования :
|
ch..(\+|-)
И мы используем matcher в шаблоне?
Зависит от того, как вы используете регулярное выражение и шаблон. Чтобы получить конкретный ответ, вам нужно будет показать какой-то реальный код или задать намного более конкретный вопрос.
NB Если вы хотите ограничить два символа после ch до 0-9, вы можете использовать \d, который является сокращенным классом символов для [0-9] :
ch
0-9
\d
[0-9]
ch\d{2}(\+|-)