public class StringMatchesCaseInsensitive
{
public static void main(String[] args)
{
String stringToSearch = "Four score and seven years ago our fathers ...";
// this won't work because the pattern is in upper-case
System.out.println("Try 1: " + stringToSearch.matches(".*SEVEN.*"));
// the magic (?i:X) syntax makes this search case-insensitive, so it returns true
System.out.println("Try 2: " + stringToSearch.matches("(?i:.*SEVEN.*)"));
}
}
Блок кода выше, чем он является; пример нечувствительного к регистру поиска. Но меня это больше всего интересует: "?i:.*SEVEN.*";
.Неисправность метода Java Case Разбивка и пояснение
Я знаю, что ?:.
- это синтаксис без учета регистра. Но как насчет .*
, который инкапсулирует SEVEN
? Что оно делает?
Где я могу узнать больше об .
, *
и .*
модификаторах regex?
Заранее благодарен