Expressões regulares

Pessoal,

Vocês poderiam me explicar o que esta expressão regular significa?

Pattern attPattern = Pattern.compile("\[(.*?)\]")

Eu estou lendo artigos sobre este assunto, porém to precisando deste significado o quanto antes!

Desde já, agredeço a todos.

\[ = escapou o [

\] = escapou o ]

. = qualquer coisa menos \n

  • = uma ou 0 repetições

? = caracter opcional (é totalmente redundante nessa regex)

o parêntesis vc sabe para que serve, certo?

Muda o título do seu post para “Expressão Regular difícil…” assim mais pessoas irão ajudar…

\ em java é para escapar uma , [ em regex é para achar um [, que normalmente é um caracter especial

\[ então é para achar uma [,

(.*?) é um grupo para achar zero ou mais caracteres antes do próximo grupo

\] é para achar uma ]

Ou seja, ela acha qualquer coisa entre [ ].

Não…
? precedido por * significa lazy… O que vai fazer que a busca pare no primeiro ] que encontrar… e não no ultimo

abraços

Veleu galera!

Vocês me ajudaram e muito!

Brigadão, e até a próxima! :smiley:

[quote=danielbadawi][quote=saoj]

? = caracter opcional (é totalmente redundante nessa regex)


[/quote]

Não…
? precedido por * significa lazy… O que vai fazer que a busca pare no primeiro ] que encontrar… e não no ultimo

abraços[/quote]

Não sabia disso! Muito obrigado pela dica!

[quote=saoj]

Não sabia disso! Muito obrigado pela dica![/quote]

:stuck_out_tongue:

Regex é realmente bem interessante! Quando acho que ja conhecia o suficiente, sempre aprendo uma coisa nova!

abraços :wink: