Регулярное выражение для строки с более чем одним символом, которая не имеет «b»

Мне нужно создать функцию, которая определяет, содержит ли строка более одного символа и нет ли в ней буквы «b».

Как я мог это сделать? Я пробовал это:

public static boolean moreOneCharacterButB(String string) {

    return string.matches(".{2,}&&^b");
}

Может быть, я пытаюсь глупо, но я не очень хорошо знаю, как проходит тема регулярных выражений.

Спасибо за помощь.

2
задан 30.11.2019, 21:21
2 ответа

Что в цепи было по крайней мере два символа, и что все они были различными в "b", возможно выражать как:

^[^b]{2,}$

, Где ^ показывает начало, конечные $ и [^b]{2,} "любая вещь меньше b" 2 или mГЎs разы.

3
ответ дан 01.12.2019, 10:30
  • 1
    ¡ Спасибо за помощь! Есть вещь, которую я не понимаю, и - ¿ из-за qué ты помещаешь cará cter начала и конца? ¿ Он из-за convenció n? Или у него есть какая-то утилита. Я это протестировал без них и они функционируют равно, ¿ нет, спасибо! – Manuel 30.11.2019, 21:24
  • 2
    Без ^ и $ expresió n harí в матч с чем-то как aaab, так как у aaa есть по крайней мере два символа, которых нет b, если ты включаешь их уже не harí в матч. Замечание, что какие-то функции как re.fullmatch в python actú an как будто ты включал ^$. – Oscar David Arbeláez 30.11.2019, 21:47
  • 3
    @Manuel qué хорошо, что функционировал! Мы используем ^ и $, чтобы показывать начало и конец слова, чтобы закреплять цепь точно. Segú n có mo написала себе expresió n, podrí чтобы давать себе situació n, что " aaab" оно ты функционирует, потому что существуют две различные буквы " b" продолженные..., но она " b" está в конце концов. Показывая начало и конец мы предотвращаем проблемы этих. – fedorqui 30.11.2019, 21:48
  • 4
    @OscarDavidArbelá ez черт побери, мы пишем то же самое :) Тысячи спасибо за комментирование и объяснение так хорошо. – fedorqui 30.11.2019, 21:49

Это доказательство с этим регулярным выражением: [^b]+

1
ответ дан 01.12.2019, 10:30