From 10538c39f7855ccadd29620697f0c4d4a851ae53 Mon Sep 17 00:00:00 2001 From: Undid-Iridium <24619207+Undid-Iridium@users.noreply.github.com> Date: Sat, 9 Dec 2023 05:42:21 -0500 Subject: [PATCH] Update regex pattern in getTag method The regular expression pattern used to match tags in URLs in the DanbooruRipper class's getTag method has been updated. Handles both /posts?tags=rakeemspoon&z=2 and /posts?tags=rakeemspoon ([^&]*) -> anything but & (?:&z=([0-9]+))? -> optional regex -> if & exists, then we check z=numbers --- .../java/com/rarchives/ripme/ripper/rippers/DanbooruRipper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/DanbooruRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/DanbooruRipper.java index 120f1660..ea1365b9 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/DanbooruRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/DanbooruRipper.java @@ -172,7 +172,7 @@ public class DanbooruRipper extends AbstractJSONRipper { } private String getTag(URL url) throws MalformedURLException { - gidPattern = Pattern.compile("https?://danbooru.donmai.us/(posts)?.*([?&]tags=([a-zA-Z0-9$_.+!*'(),%-]+))(&|(#.*)?$)"); + gidPattern = Pattern.compile("https?://danbooru.donmai.us/(posts)?.*([?&]tags=([^&]*)(?:&z=([0-9]+))?$)"); Matcher m = gidPattern.matcher(url.toExternalForm()); if (m.matches()) {