История изменений
Исправление eugrus, (текущая версия) :
Попробовал заменить в https://github.com/eugrus/gesetze-im-shell/blob/main/gesetze-im-shell
# Falls Absatz spezifiziert
else
Absnr=$(roman_to_arabic $Absatz)
count=1
while [[ $html =~ class\=\"jurAbsatz\"\>([^\<]*)\<\/div\>(.*) ]]; do
if [ "$count" -eq "$Absnr" ]; then
echo "${BASH_REMATCH[1]}" | decodehtml
break
fi
html="${BASH_REMATCH[2]}" # Regards to s-warus on https://www.linux.org.ru/forum/development/17289104 for this pattern matching!
((count++))
done
fi
на
# Falls Absatz spezifiziert
else
Absnr=$(roman_to_arabic $Absatz)
# Regards to s-warus on https://www.linux.org.ru/forum/development/17289104 for this regex!
echo $html|grep -o "<div class=\"jurAbsatz\">($Absnr)[^<]*</div>" | sed 's/<div class="jurAbsatz">/\n<div class="jurAbsatz">/g; s/<dt>/\n<dt> /g; s/<div>/<div> /g;' | decodehtml
fi
Опять таки спотыкается в случае https://www.gesetze-im-internet.de/vwgo/__80.html на абзаце с включением другого div для пунктов:
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 I VwGO
§ 80
(1) Widerspruch und Anfechtungsklage haben aufschiebende Wirkung. Das gilt auch bei rechtsgestaltenden und feststellenden Verwaltungsakten sowie bei Verwaltungsakten mit Doppelwirkung (§ 80a).
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 II VwGO
§ 80
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 III VwGO
§ 80
(3) In den Fällen des Absatzes 2 Satz 1 Nummer 4 ist das besondere Interesse an der sofortigen Vollziehung des Verwaltungsakts schriftlich zu begründen. Einer besonderen Begründung bedarf es nicht, wenn die Behörde bei Gefahr im Verzug, insbesondere bei drohenden Nachteilen für Leben, Gesundheit oder Eigentum vorsorglich eine als solche bezeichnete Notstandsmaßnahme im öffentlichen Interesse trifft.
Это решаемо через regex или надо действительно перейти на DOM-реализацию?
Исходная версия eugrus, :
Попробовал заменить в https://github.com/eugrus/gesetze-im-shell/blob/main/gesetze-im-shell
# Falls Absatz spezifiziert
else
Absnr=$(roman_to_arabic $Absatz)
count=1
while [[ $html =~ class\=\"jurAbsatz\"\>([^\<]*)\<\/div\>(.*) ]]; do
if [ "$count" -eq "$Absnr" ]; then
echo "${BASH_REMATCH[1]}" | decodehtml
break
fi
html="${BASH_REMATCH[2]}" # Regards to s-warus on https://www.linux.org.ru/forum/development/17289104 for this pattern matching!
((count++))
done
fi
на
# Falls kein Absatz spezifiziert
if [ -z $Absatz ]; then
printf '%s' "$html" | grep -o '<div class="jnhtml">.*</div>' | sed 's/<div class="jurAbsatz">/\n<div class="jurAbsatz">/g; s/<dt>/\n<dt> /g; s/<div>/<div> /g;' | decodehtml
# Falls Absatz spezifiziert
else
Absnr=$(roman_to_arabic $Absatz)
# Regards to s-warus on https://www.linux.org.ru/forum/development/17289104 for this regex!
echo $html|grep -o "<div class=\"jurAbsatz\">($Absnr)[^<]*</div>" | sed 's/<div class="jurAbsatz">/\n<div class="jurAbsatz">/g; s/<dt>/\n<dt> /g; s/<div>/<div> /g;' | decodehtml
fi
Опять таки спотыкается в случае https://www.gesetze-im-internet.de/vwgo/__80.html на абзаце с включением другого div для пунктов:
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 I VwGO
§ 80
(1) Widerspruch und Anfechtungsklage haben aufschiebende Wirkung. Das gilt auch bei rechtsgestaltenden und feststellenden Verwaltungsakten sowie bei Verwaltungsakten mit Doppelwirkung (§ 80a).
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 II VwGO
§ 80
[root@DESKTOP-2EQAM1A gesetze-im-shell]# ./gesetze-im-shell 80 III VwGO
§ 80
(3) In den Fällen des Absatzes 2 Satz 1 Nummer 4 ist das besondere Interesse an der sofortigen Vollziehung des Verwaltungsakts schriftlich zu begründen. Einer besonderen Begründung bedarf es nicht, wenn die Behörde bei Gefahr im Verzug, insbesondere bei drohenden Nachteilen für Leben, Gesundheit oder Eigentum vorsorglich eine als solche bezeichnete Notstandsmaßnahme im öffentlichen Interesse trifft.
Это решаемо через regex или надо действительно перейти на DOM-реализацию?