Mal wieder REGEX
Verfasst: 02.05.2021 17:23
Hallo zusammen,
ich mal wieder mit einer REGEX-Frage
Ich durchsuche Zeilen eines Scripts, um dort genutzt Funktionsaufrufe für lokalisierte Termini zu finden und diese zu extrahieren.
Diese Aufrufe sehen immer so aus
Ich will also den Text zwischen den Hochkommata(ergo den Parameter) des Funktionsaufrufs der Funktion t
Das klappt auch schon mit dieser REGEX:
In diesem Beispiel wird Language-string I want to extract gefunden:
Leider treten in einer Zeile aber auch mal 2 oder noch mehr Aufrufe dieser t-Funktion auf ... dann finde ich leider alles bis zum Ende des letzten Funktionsaufrufes .. .siehe hier:
findet dann natürlich das hier: Language-string I want to extract'), 1, t('Second function-call in the same line
Irgendwie müsste also REGEX so lauten:
Finde alles bis zum NÄCHSTEN vorkommen von ') ... und dann suche weitere Vorkommen.
Geht das und wenn JA .. wie ?
ich mal wieder mit einer REGEX-Frage

Ich durchsuche Zeilen eines Scripts, um dort genutzt Funktionsaufrufe für lokalisierte Termini zu finden und diese zu extrahieren.
Diese Aufrufe sehen immer so aus
Code: Alles auswählen
LEERZEICHEN + t('Hier steht dann beliebiger Text, den ich finden will .... bis hier >')
Das klappt auch schon mit dieser REGEX:
Code: Alles auswählen
(?<=t\(')(.*)(?='\))
Code: Alles auswählen
<?= $this->form->checkbox('foo', t('Language-string I want to extract'), 1, $values['foo'] == 1) ?>
Code: Alles auswählen
<?= $this->form->checkbox('foo', t('Language-string I want to extract'), 1, t('Second function-call in the same line')$values['foo'] == 1) ?>
Irgendwie müsste also REGEX so lauten:
Finde alles bis zum NÄCHSTEN vorkommen von ') ... und dann suche weitere Vorkommen.
Geht das und wenn JA .. wie ?