Ich schreibe ein Skript und ich möchte eine Variable für ein Format überprüfen. Dies ist die Funktion, die ich verwenden:Bash regulären Ausdruck mit Anführungszeichen
check_non_numeric() {
#re='^\".*\"$'
re='\[^\]*\'
if ! [[ $1 =~ $re ]] ; then
echo "'$1' is not a valid format - \"[name]\" "
exit 1
fi
}
ich den regulären Ausdruck wollen aber Anführungszeichen eine Zeichenfolge mit etwas übereinstimmen innen und Anführungszeichen um es („a“ oder „string“ oder „dsfo^$ **! # "). Das Problem ist, dass diese regulären Ausdrücke, die ich mir ausgedacht habe, nicht für mich funktionieren. Ich habe eine sehr ähnliche Funktion verwendet, um zu überprüfen, ob eine Variable eine Ganzzahl oder ein Gleitkomma ist und dort funktioniert. Könnten Sie mir bitte sagen, was der fragliche reguläre Ausdruck sein sollte?
Vielen Dank
Versuchen Sie 're ='^[^ "] * $ '' –
das akzeptiert alles –
Ich bin verwirrt über das, was Sie wollen.Wollen Sie Zitate um die Zeichenfolge, aber nicht drin? Oder wollen Sie keine Anführungszeichen an alle? – Galik