Auf Thema antworten

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]


Zurück
Oben