java regex: procurar um padrão de 1 ou mais números, seguido de um único
5 answers
String searchText = "asdgasdgasdg a121341234.sdg asdg as12..dg a1234.sdg ";
searchText.matches("\\d+\\.[^.]");
Isto vai corresponder a 121341234."e" 1234."mas não" 12."
"^[\\d]+[\\.]$"
^ = start of string
[\\d] = any digit
+ = 1 or more ocurrences
\\. = escaped dot char
$ = end of string
(\\d)+\\.
\\d
representa qualquer dígito+
diz um ou mais
Consulte este http://www.vogella.com/articles/JavaRegularExpressions/article.html
Em regex o metacharacter {[[0]} é usado para representar um inteiro, mas para representá-lo em um código java como um regex teria que usar \\d
por causa da dupla análise realizada sobre eles.
Primeiro um analisador de cadeia de caracteres que irá convertê-lo em \d
e depois o analisador de expressão que irá interpretá-lo como um metacaracter inteiro (que é o que queremos).
Para a parte" uma ou mais " usamos o +
quantificador ganancioso.
Para representar um {[4] } usamos \\.
por causa de o cenário de dupla análise.
(\\d)+(\\.)
.
\\d+)\\.
\\d
is for numbers, +
is for one and more, \\.
is for dot. Se .
for escrito sem barra invertida antes de corresponder a qualquer carácter.