Tach!
Doch tatsächlich: ~(^|\D)\d{5,10}($|\D)~ funktioniert.
Bei höchstens einer solchen Zahl und es dürfen keine weiteren Ziffern im Text enthalten sein.
Da lag ich falsch. Es steht da ja nur ein \D und kein \D*, also bezieht sich das Muster nur auf das unmittelbar davor- oder danachstehende Einzelzeichen.
Wenn die Fragestellung lautet, ob in dem Text eine Zahl mit 5-10 Ziffern vorkommt, passt es auf jeden Fall. Natürlich macht das keine Aussage darüber, ob evt. noch andere Zahlen, auf die das zutrifft, im Suchstring vorkommen. Ich nehme an, das meintest Du mit der Regel, dass weiteren Ziffern im Text enthalten sein dürfen. Sonst wäre es ja egal, was sich überdies noch im Suchstring befindet.
Mit dem Muster, so wie es oben steht, passt es auf die erstbeste separat stehende Folge von 5 bis 10 Ziffern. Was davor oder danach kommt (bis auf das jeweils eine Zeichen), kann beliebig sein, also auch Ziffern und Zahlen enthalten.
dedlfix.