2016-07-29 27 views
0

Ich muss das Wort vor dem Sonderzeichen in diesem Fall die ` bekommen, aber es kann jedes Sonderzeichen sein. Die Zeichenfolge nach dem Sonderzeichen und dem Zeichen sollte ignoriert werden.Holen Sie sich ein bestimmtes Wort vor Sonderzeichen mit Regex

userTable` (`idUser` int PRIMARY KEY AUTO_INCREMENT NOT NULL,`userName` VARCHAR(50),`password` VARCHAR(25)) 

Ich frage mich, ob es leichter sein könnte, das Wort mit einem regulären Ausdruck zu erhalten, die die Sonderzeichen und die Worte danach ignoriert.

+2

Verwenden Sie einfach '\ w +', um zu passen – anubhava

+0

Mit welchen Wörtern möchten Sie übereinstimmen? – nicael

+0

Ich denke, es wird etwas wie '.replaceFirst (" (? S). *? (\ W +) \ s * \ '. *", "$ 1") '(wenn nur der erste geholt werden soll). –

Antwort

1

Zwei Möglichkeiten:

(\w+)(?=[\'\"]) 

oder

[\'\"]\K(\w+) 

In [] fügen Sie einfach ein beliebiges Zeichen Sie wollen, aber vorhergehenden mit '\' F. E. \ $, \% etc. usw.

+1

Java ICU-like regex unterstützt nicht '\ K'. –