2016-04-10 4 views
-1

Ich frage mich, ob Metazeichen, wie? oder *, kann in einem regulären Ausdruck als normales Zeichen anstelle von Metazeichen verwendet werden.Können Metazeichen in einem regulären Ausdruck als normales Zeichen verwendet werden?

Zum Beispiel habe ich den folgenden Text:

"Hi. How are you? What time is it? Beep?" 

Und ich wollte reguläre Ausdrücke verwenden, um jede Gruppe von Wörtern mit einem Fragezeichen endet an substring (?).

resultierende daher in:

Hi. 
How are you? 
What time is it? 
Beep? 

Dank

+0

Das ist der ganze Zweck ist Charakterklasse zu haben. Sie können sie wie folgt definieren: '[? *.]' Lässt eines von drei Zeichen zu, die ** Meta-Zeichen ** außerhalb davon sind. –

+1

Nein; das ist der Punkt des Backslash. – SLaks

+0

@SLaks: Yea Backslash kann das auch tun. Ich habe in Bezug auf die kollektive Erklärung gesprochen. Ich möchte nicht \. \? \ * Verwenden. Es scheint kompliziert. –

Antwort

0

Sie für ? von einem optionalen Leerzeichen folgt aussehen kann und ersetzen Sie es ein mit ? und newline wie diese.

Regex:\?\s? Hier ? ist escaped.

[?]\s? does the same.

Ersatz: Ersetzen mit ?\n

Regex101 Demo

+1

ok Danke !!! Die Demo-Website ist sehr hilfreich. – HappyProgrammer