Wie ganzes Wort entsprechen, die von einem Register vorgeschaltet ist?
Frage
Ich versuche, das erste Wort in der Zeile zu erhalten, die das ganze Wort ‚Zahl‘ übereinstimmt. Aber ich bin nur daran interessiert, wo ganzes Wort ‚Zahl‘ abgestimmt ist und von einem Register voraus.
Zum Beispiel, wenn folgenden Text:
tin identification number 4/10/2007 LB
num number 9/27/2006 PAT
Ich möchte num
zurück bekommen
Regex ich habe ist:
ganzes Wort: \bnumber\b
Wenn oben gefunden wird, dann erstes Wort erhalten: ([^\s]*)
Ich glaube, ich brauche Änderung in ganzem Wort regex, so dass es nur übereinstimmt, wenn ganzes Wort durch eine Lasche vorangestellt ist
Lösung
Diese Antwort hängt ein wenig auf Ihrer Regex-Engine, da sie unterschiedliche Darstellungen für Reiter haben können. In .NET Regex-Engine wenn es wie ... aussehen würde
\tnumber
Andere Tipps
versuchen Look-Ahead:
([^\s]+)(?=.*\tnumber)
(?:(\t([^\t ]*)))