In Bash ist der reguläre Ausdruck ‚^[0-9]+$‚ stimmt mit jeder Zeichenfolge überein, die vom Anfang bis zum Ende der Zeile aus einer oder mehreren Ziffern besteht und keine anderen Zeichen dazwischen enthält. Dieser Ausdruck eignet sich zum Testen, ob eine Variable numerische Zeichen enthält oder nicht.
In diesem Leitfaden wird die Bedeutung des Zeichens „^“ erläutert[0-9]+$“ mit praktischer Umsetzung in Bash.
- Was bedeutet ‚^[0-9]+$‘ Mittelwert in Bash?
- Wie funktioniert ‚^[0-9]+$‘ Arbeit in Bash?
- Testen, ob eine Variable nur Ziffern enthält
- Eingabe nur auf Ziffern beschränken
Was bedeutet ‚^[0-9]+$‘ Mittelwert in Bash?
Hier ist eine Aufschlüsselung der verschiedenen Teile des „^[0-9]+$“ regulären Ausdruck:
- ^: Es ist der Anfang des String-Ankers, der den Anfang der Zeile vergleicht.
- [0-9]: Es handelt sich um eine Zeichenklasse, die aus Ziffern (0-9) besteht.
- +: Es entspricht einer oder mehreren Ziffern zwischen 0 und 9.
- $: Es ist das Ende des String-Ankers, das mit dem Ende der Zeile übereinstimmt.
- Der vollständige reguläre Ausdruck berücksichtigt die Zeichen vom Anfang bis zum Ende.
Wie funktioniert ‚^[0-9]+$‘ Arbeit in Bash?
Um zu untersuchen, wie der reguläre Ausdruck ‚^[0-9]+$‘ kann in Bash verwendet werden, folgen Sie den genannten Beispielen:
Beispiel 1: Testen, ob eine Variable nur Ziffern enthält
Die folgende if-else-Anweisung wird verwendet, um die Existenz der Ziffern in der Variablen zu überprüfen:
#!/bin/bash var="1234" if [[ $var =~ ^[0-9]+$ ]]; then echo "Variable contains only digits." else echo "Variable contains non-digit characters." fi
In diesem Beispiel die Variable ‚var‘ ist eingestellt auf „1234„. Der reguläre Ausdruck ‚^[0-9]+$‘ wird verwendet, um zu testen, ob eine Variable nur numerische Zeichen enthält.
Speichern und schließen Sie das Skript. Erwerben Sie anschließend die ausführbare Berechtigung mit dem Befehl „chmod”-Befehl mit dem „+x”-Option und führen Sie die aus ./script.sh Datei:
$ sudo chmod +x script.sh $ ./script.sh
Der reguläre Ausdruck ‚^[0-9]+$‘ entspricht der Zeichenfolge „1234“, da sie nur Ziffern enthält. Die Ausgabe lautet also „Variable enthält nur Ziffern.“
Beispiel 2: Beschränken der Eingabe in ein Skript auf nur Ziffern
Als weiteres Beispiel wird betrachtet, Eingaben vom Benutzer entgegenzunehmen und den Eingabewert mithilfe des regulären Ausdrucks zu überprüfen.^[0-9]+$‚:
#!/bin/bash read -p "Enter a number: " input if [[ $input =~ ^[0-9]+$ ]]; then echo "Input contains only digits." else echo "Input contains non-digit characters." fi
Im obigen Code wird der Benutzer aufgefordert, eine Nummer einzugeben, indem er „lesen“ Befehl. Danach wird der reguläre Ausdruck ‚^[0-9]+$‚ validiert die Eingabe und stellt sicher, dass sie nur Ziffern enthält. Wenn die Eingabe nicht-stellige Zeichen enthält, zeigt das Skript die Ausgabe „Die Eingabe enthält nicht-stellige Zeichen.“
Speichern und schließen Sie das Skript. Erwerben Sie dann die ausführbare Berechtigung mit dem Befehl „chmod”-Befehl mit dem „+x”-Option und führen Sie die aus ./script.sh Datei:
$ sudo chmod +x script.sh $ ./script.sh
Nach Eingabe von „006” Ziffernzeichen, die Ausgabe zeigt „Die Eingabe enthält nur Ziffern.“
Abschluss
In Bash ist der reguläre Ausdruck ‚^[0-9]+$‚ stimmt mit einer Zeichenfolge überein, die nur eine oder mehrere Ziffern (0-9) und keine anderen Zeichen enthält. Mithilfe dieses Ausdrucks können Benutzer nach der Auswertung der Variablen den Eingabewert/vordefinierten Wert auf die numerischen Zeichen beschränken. In diesem Leitfaden wurde Folgendes erläutert:^[0-9]+$‚ regulärer Ausdruck zusammen mit möglichen Beispielen in Bash.