Je veux une expression Java Regex qui accepte uniquement les chiffres et les points.
Par exemple, P>
1.1.1 ----valid
1.1 ----valid
1.1.1.1---valid
1. ----not valid
5 Réponses :
Vous voulez donc une regex qui veut des chiffres et des périodes, mais commence et se termine par un numéro?
"[0-9][0-9.]*[0-9]"
Cela fonctionne selon votre condition. Ici (\. \ D +) + vérifie au moins un point avec un numéro. ^ \ d + (\. \ d +) + $ \ d + (\ \ \ d +) + au moins un numéro au début d'un point au moins un numéro au moins un
Je suppose que c'est ce que vous voulez: explication: il accepte les chiffres séparés par des points; il commence et se termine par nombre; Un numéro peut avoir plusieurs chiffres; Un chiffre sans points est également accepté. P> variante sans chiffres multiples: p> variantes où au moins un point est requis: P> Pattern NUMBERS_WITH_DOTS = Pattern.compile("^\\d+(\\.\\d+)*$");
Cela m'a été utile, j'avais besoin de prendre l'indice d'un résumé, donc j'ai modifié à cela: ^ (\ D + [\. \ D +] *). Merci!
Pour une entrée d'utilisateur, j'ai besoin d'accepter une chaîne avant de saisir le numéro après le point. J'ai donc besoin d'accepter quelque chose comme 1. code> avant le chiffre après le code>. Quelqu'un peut-il aider?
@ CONOR909 En supposant que vous souhaitez également accepter une chaîne vide puis ^ (\ d + \.) * \ D * $
"^\\d(\\.\\d)*$" 1 ----valid (if it must be not valid, replace `*` => `+` ) 1.1.1 ----valid 1.1 ----valid 1.1.1.1---valid 1. ----not valid 11.1.1 ---not valid (if it must be valid, add `+` after each `d`)
<!DOCTYPE html>
<html>
<body>
<p>RegEx to allow digits and dot</p>
Number: <input type="text" id="fname" onkeyup="myFunction()">
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.replace(/[^0-9\.]/g,"");
}
</script>
</body>
</html>
explication: il accepte les chiffres séparés par des points; il commence et se termine par nombre; Un numéro peut avoir plusieurs chiffres; Un numéro sans points n'est pas accepté. p> la sortie comme celle-ci - p>
Qu'en est-il de
". 1" code>,"1..1" code>,"1.11" code>? Avez-vous déjà essayé quelque chose? Si oui, pourriez-vous poster cela aussi et expliquer ce qui s'est mal passé?Un seul chiffre serait-il valide!
Qu'en est-il des chiffres sans points? En d'autres termes, le point est-il facultatif ou requis?