Тест JUnit на соответствие Sting / словам

#java #regex #string #junit

#java #регулярное выражение #строка #junit

Вопрос:

я напишу тест Junit на Java, как проверить, совпадает ли регулярное выражение со строкой.

Например: Строка: BLEXABC-A00 Строка: ALEXABC-D00 Строка: CLEXABC-C00 Строка: DLEXABC-B00

Эта строка должна быть сопоставлена, например, с регулярным выражением [a-zA-Z]lex(abc-[a-zA-Z][0-9]) w?

Спасибо

Комментарии:

1. Вы ведь знаете, что javascript и java — это не одно и то же, верно? Неважно, я уже исправил теги для вас…

2. Плюс: что вы сделали, чтобы решить свою проблему? На самом деле это довольно просто, и множество ресурсов в Интернете могут помочь вам в этом…

Ответ №1:

Что-то вроде:

 package ...;
import org.junit.Assert;
import org.junit.Test

public class ... {

    @Test
    public void regexMatches() {
        Assert.assertTrue("BLEXABC-A00".matches("(?i)[a-zA-Z]lex(abc-[a-zA-Z][0-9])\w"));
        Assert.assertFalse("Brexit".matches("(?i)[a-zA-Z]lex(abc-[a-zA-Z][0-9])\w"));
    }
}
  

Где регулярное выражение (?i) устанавливает режим без учета регистра. И обратные косые черты регулярных выражений, такие как в w , должны быть экранированы сами по себе как \w .