passe alles bis zur Klammer an

8

Gegeben eine Zeichenkette str = "Senior Software Engineer (mountain view)"

Wie kann ich alles abgleichen, bis ich die erste Klammer anklicke und mir den Titel "Senior Software Engineer" zurückgibt

    
user1103294 13.12.2012, 20:24
quelle

4 Antworten

14

Sie würden ^[^\(]+ verwenden, um das zu vergleichen und dann trimmen, um das nachgestellte Leerzeichen zu entfernen

    
Omar Jackman 13.12.2012, 20:26
quelle
4

^[^\(]*

[^\(] ist eine Zeichenklasse, die mit Ausnahme von ( mit allem übereinstimmt, und * ist eine gierige Übereinstimmung, die der Klasse so oft wie möglich entspricht. Das ^ am Anfang entspricht vom Anfang des Strings.

    
Swadq 13.12.2012 20:28
quelle
4

Sie können diese einfache Regex in R: *\(.*

verwenden %Vor%

Es vermeidet auch die nachfolgenden Leerzeichen.

    
Sven Hohenstein 29.01.2014 13:15
quelle
3

Um den nachgestellten Leerzeichen zu vermeiden, versuchen Sie ^.*?(?=\s\() .

^(.*?) sagt ihm, dass vom Anfang der Zeichenfolge an so wenig Zeichen wie möglich übereinstimmen und dass (?=\s\() das andere Ende des Matches mit Ihrem paren verankert, ohne es oder das Leerzeichen davor einzufangen.

    
marcus erronius 13.12.2012 20:35
quelle

Tags und Links