Diese Frage ist sehr ähnlich zu einer früheren Frage, die ich fragte (This Question), aber ich muss es leicht ändern.Regex Split String bei bestimmten Wort Muster differant Wert in Match-Gruppe
So in der früheren Frage diese Zeichenfolge
Berkshire Hathaway Inc (Ticker: BRK; NAICS: 524126, 511130, 335212, 445292, 511110, 442210; Duns: 00-102-4314) Walt Disney Co (Ticker: DIS; NAICS: 713110, 512110, 711211, 515120; Duns: 00-690-4700)
2 Matches mit diesen Werten erstellt:
Berkshire Hathaway Inc Walt Disney Co
Jetzt möchte ich die Spiele Ticker enthalten: XXX oder der Firmenname mit Vorliebe gehen Ticker: XXX.
So zum Beispiel oben würde es entsprechen:
Ticker: BRK Ticker: DIS
Und für dieses Beispiel:
Berkshire Hathaway Inc (NAICS: 524126, 511130, 335212, 445292, 511110, 442210; Duns: 00-102-4314) Walt Disney Co (Ticker: DIS; NAICS: 713110, 512110, 711211, 515120; Duns: 00-690-4700)
Das Ergebnis wäre:
Berkshire Hathaway Inc Ticker: DIS
Ich glaube, ich nur don‘ Ich verstehe die Regex-Lösung in der vorherigen Frage gut genug, um zu verstehen, wie man sie an dieses Muster anpasst.
Die Regex in C# geschrieben
Durch die Art und Weise der vorherigen regex Lösung war:
(?!\s*$)(.*?)(?:\([^)]*(?:(?:SIC|NAICS):[^)]*)+\)|$)
, die ich denke, sollte nun auf diese geändert werden:
(?!\s*$)(.*?)(?:\([^)]*(?:(?:SIC|NAICS|Duns):[^)]*)+\)|$)
aber wie Ich extrahiere den Ticker: und wähle diesen Wert über dem anderen Wert, wenn Ticker existiert?
ha. Ich mag diese Lösung, weil es einfach ist. –
Sie können Bedingungslogik für Gruppen nicht gleichzeitig verwenden. Reguläre Ausdrücke sind dazu gedacht, den Text einfach zu analysieren, wie es ist –
@ JustinPihony Danke für den Tipp! Immer gerne erhalten :) – Robbie