java regex: procurar um padrão de 1 ou mais números, seguido de um único

Estou com um problema de java regex.

Como posso encontrar um padrão de 1 ou mais números seguido de um único . numa corda?

 5
Author: user840930, 2012-06-08

5 answers

Acho que esta é a resposta à tua pergunta:
String searchText = "asdgasdgasdg a121341234.sdg asdg as12..dg a1234.sdg ";
searchText.matches("\\d+\\.[^.]");
Isto vai corresponder a 121341234."e" 1234."mas não" 12."
 4
Author: ioseb, 2012-06-08 16:06:17
"^[\\d]+[\\.]$"

^     = start of string
[\\d] = any digit
+     = 1 or more ocurrences
\\.   = escaped dot char
$     = end of string   
 6
Author: Whimusical, 2012-06-08 16:05:26
(\\d)+\\.

\\d representa qualquer dígito
+ diz um ou mais

Consulte este http://www.vogella.com/articles/JavaRegularExpressions/article.html

 2
Author: Jigar Joshi, 2012-06-08 17:26:35

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.

Então, no final, temos (\\d)+(\\.).
 1
Author: WickeD, 2017-08-17 20:46:25

\\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.

 0
Author: AlexR, 2012-06-08 16:05:09