Die Datenbank ist vorgegeben und ich kann sie nicht ändern.
Hier mal die Suchen, wie ich sie in Bash gelöst habe:
[CODE=bash]if [[ -z "${DATA[2]}" ]] ; then # Staffel ist leer. Versuche Informationen aus dem Kurztext zu erhalten
# EPG Beispiel Canal+ First:
# Woke~Das Treffen S01 E08. Monate später glaubt Keef, dass er endlich an einem besseren Ort angekommen...
re='(.*)S([0-9]+) E([0-9]+)' #(. [a-z]*)'
if [[ "$SUBTITLE" =~ $re ]] ; then #* Kurztext enthält Sxx Exx
printf -v S '%02d' "${BASH_REMATCH[2]}" # 01
printf -v E '%02d' "${BASH_REMATCH[3]}" # 08
SUBTITLE="${BASH_REMATCH[1]}" # Das Treffen
SUBTITLE="${SUBTITLE%%' '}" # Leerzeichen am Ende entfernen
fi
# EPG Beispiel 3+:
# Superstar~Staffel 01 - Folge 03: Highlights (1) / Castingshow, Schweiz 2006
re='Staffel ([0-9]+).*Folge ([0-9]+)(.*)'
if [[ -z "$S" && "$SUBTITLE" =~ $re ]] ; then #* Kurztext enthält Sxx Exx
printf -v S '%02d' "${BASH_REMATCH[1]}" # 01
printf -v E '%02d' "${BASH_REMATCH[2]}" # 03
SUBTITLE="${BASH_REMATCH[3]}" # : Highlights (1) / Castingshow, Schweiz 2006
re='^[:/ ]'
while [[ "$SUBTITLE" =~ $re ]] ; do # Alle führenden Leerzeichen, '/' oder ':' entfernen
SUBTITLE="${SUBTITLE:1}"
done
fi
[/CODE]
Die zweite Suche wäre z. B. für Staffel in etwa so:
[CODE=sql] concat('||Staffel: ', TRIM(LEADING '0' FROM TRIM(LEADING 'Staffel ' FROM REGEXP_SUBSTR(sub_shorttext, 'Staffel [0-9]+')))) end end[/CODE]