O que significa (?i)?

qnd eu utilizo o metodo matches da classe string da seguinte forma…

string teste=“abc”

teste.matches("(?i)AbC") =>Resulta em true…

o que significa este prefixo no argumento do metodo matches (?i) :?

(?i) quer dizer: ignore a diferença entre minúsculas e maiúsculas.

Vc esta usando uma forma simples (embedded flag expression) de procurar um padrão com a flag CASE_INSENSITIVE

Existem outras embedded flag expression:
http://java.sun.com/docs/books/tutorial/essential/regex/pattern.html

Ele queria usar com “String.matches”, então essa é a única forma de especificar “case-insensivity”, já que String.matches não permite passar aqueles parâmetros que o construtor de java.util.regex.Pattern permite.