2016-07-21 18 views
-1

Ich versuche, vergebens, eine Regex-Zeichenfolge, die Folgendes erreicht.Regex Probleme bei der Suche nach Leerzeichen

In einer beliebigen Zeichenfolge: geben Sie true zurück, wenn die Zeichenfolge nicht aus * und Leerzeichen besteht. Also ** ist in Ordnung und **** ****
**
ist in Ordnung (die \ n kann nicht durch den Editor gekommen sein)

aber alles andere als dies muss markiert werden. Manchmal kann eine Zeichenfolge nur ein einzelnes Leerzeichen oder eine Reihe von Leerzeichen und Zeilenenden sein. Ich habe Schwierigkeiten, diese zu eliminieren.

Ich war mit \\*+\\s+ arbeiten, aber die Prüfung für einzelnen Abstand bringt mir

+1

Suchen Sie einfach nach ['[^ *]' (oder '[^ \ s *]')] (https://regex101.com/r/mM3bL5/1) - falls es eine Übereinstimmung gibt, kennzeichnen Sie diese Zeichenfolge . Was ist Ihre Programmierumgebung? Vielleicht brauchst du auch etwas wie '^ [*] * [^ *]'? –

+0

Codierst du wirklich für iOS? Ich frage, weil der Tag * nsregularexpression * häufig missbraucht wird. –

+0

@null Sie sind hier lange genug, um über Formatierung, Tagging und MCVE zu wissen – Mariano

Antwort

1

Dies sollte funktionieren:

^[^* ]+$ 

Achten Sie darauf, den Start setzen „^“ und Ende „$“ Anker dort

+0

Das passt nicht "9 *" –

+0

@ WiktorStribiżew Recht, ich denke die ursprüngliche Frage zu sein "Ich möchte Zeichenfolgen, die nicht übereinstimmen" t enthält ein * oder ein [Leerzeichen] " – user3163495

+0

@ WiktorStribiżew Frage besagt, dass der String nur Leerzeichen und' * 'enthalten kann, also wird' 9' natürlich nicht gefunden. –