Regular Expressions 101

Save & Share

  • Regex Version: ver. 2
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
No Match

/
/
gm

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "^(java\\s+)(?:\\S*-)?v?(?<version>(\\d+)(\\.\\d+)?(\\.\\d+)?(\\+\\d+)?(-ea(\\.\\d+)?)?)$"; final String string = "java corretto-21.0.2.13.1\n" + "java corretto-21.0.2.13\n" + "java corretto-21.0.2\n\n" + "java adoptopenjdk-11.0.15+10\n" + "java adoptopenjdk-11.0.16+8\n" + "java adoptopenjdk-11.0.16+101\n" + "java adoptopenjdk-11.0.17+8\n" + "java adoptopenjdk-11.0.18+10\n" + "java adoptopenjdk-11.0.19+7\n" + "java adoptopenjdk-11.0.20+8\n" + "java adoptopenjdk-11.0.20+101\n" + "java adoptopenjdk-11.0.21+9\n" + "java adoptopenjdk-11.0.22+7\n" + "java adoptopenjdk-17.0.0+35\n" + "java adoptopenjdk-17.0.1+12\n" + "java adoptopenjdk-17.0.2+8\n" + "java adoptopenjdk-17.0.3+7\n" + "java adoptopenjdk-17.0.4+8\n" + "java adoptopenjdk-17.0.4+101\n" + "java adoptopenjdk-17.0.5+8\n" + "java adoptopenjdk-17.0.6+10\n" + "java adoptopenjdk-17.0.7+7\n" + "java adoptopenjdk-17.0.8+7\n" + "java adoptopenjdk-17.0.8+101\n" + "java adoptopenjdk-17.0.9+9\n" + "java adoptopenjdk-17.0.10+7\n" + "java adoptopenjdk-18.0.0+36\n" + "java adoptopenjdk-18.0.1+10\n" + "java adoptopenjdk-18.0.2+9\n" + "java adoptopenjdk-18.0.2+101\n" + "java adoptopenjdk-19.0.0+36\n" + "java adoptopenjdk-19.0.0-beta+36.0.202208190932\n" + "java adoptopenjdk-19.0.1+10\n" + "java adoptopenjdk-19.0.2+7\n" + "java adoptopenjdk-20.0.0+36\n" + "java adoptopenjdk-20.0.1+9\n" + "java adoptopenjdk-20.0.2+9\n" + "java adoptopenjdk-21.0.0+35.0.LTS\n" + "java adoptopenjdk-21.0.1+12.0.LTS\n" + "java adoptopenjdk-21.0.2+13.0.LTS\n" + "java adoptopenjdk-jre-11.0.15+10\n" + "java adoptopenjdk-jre-11.0.16+8\n" + "java adoptopenjdk-jre-11.0.16+101\n" + "java adoptopenjdk-jre-11.0.17+8\n" + "java adoptopenjdk-jre-11.0.18+10\n" + "java adoptopenjdk-jre-11.0.19+7\n" + "java adoptopenjdk-jre-11.0.20+8\n" + "java adoptopenjdk-jre-11.0.20+101\n" + "java adoptopenjdk-jre-11.0.21+9\n" + "java adoptopenjdk-jre-11.0.22+7\n" + "java adoptopenjdk-jre-17.0.1+12\n" + "java adoptopenjdk-jre-17.0.2+8\n" + "java adoptopenjdk-jre-17.0.3+7\n" + "java adoptopenjdk-jre-17.0.4+8\n" + "java adoptopenjdk-jre-17.0.4+101\n" + "java adoptopenjdk-jre-17.0.5+8\n" + "java adoptopenjdk-jre-17.0.6+10\n" + "java adoptopenjdk-jre-17.0.7+7\n" + "java adoptopenjdk-jre-17.0.8+7\n" + "java adoptopenjdk-jre-17.0.8+101\n" + "java adoptopenjdk-jre-17.0.9+9\n" + "java adoptopenjdk-jre-17.0.10+7\n" + "java adoptopenjdk-jre-18.0.1+10\n" + "java adoptopenjdk-jre-18.0.2+9\n" + "java adoptopenjdk-jre-18.0.2+101\n" + "java adoptopenjdk-jre-19.0.0+36\n" + "java adoptopenjdk-jre-19.0.0-beta+36.0.202208190932\n" + "java adoptopenjdk-jre-19.0.1+10\n" + "java adoptopenjdk-jre-19.0.2+7\n" + "java adoptopenjdk-jre-20.0.0+36\n" + "java adoptopenjdk-jre-20.0.1+9\n" + "java adoptopenjdk-jre-20.0.2+9\n" + "java adoptopenjdk-jre-21.0.0+35.0.LTS\n" + "java adoptopenjdk-jre-21.0.1+12.0.LTS\n" + "java adoptopenjdk-jre-21.0.2+13.0.LTS\n" + "java corretto-8.322.06.4\n" + "java corretto-8.332.08.1\n" + "java corretto-8.342.07.1\n" + "java corretto-8.342.07.3\n" + "java corretto-8.352.08.1\n" + "java corretto-8.362.08.1\n" + "java corretto-8.372.07.1\n" + "java corretto-8.382.05.1\n" + "java corretto-8.392.08.1\n" + "java corretto-8.402.07.1\n" + "java corretto-8.402.08.1\n" + "java corretto-11.0.15.9.1\n" + "java corretto-11.0.16.8.1\n" + "java corretto-11.0.16.8.3\n" + "java corretto-11.0.16.9.1\n" + "java corretto-11.0.17.8.1\n" + "java corretto-11.0.18.10.1\n" + "java corretto-11.0.19.7.1\n" + "java corretto-11.0.20.8.1\n" + "java corretto-11.0.20.9.1\n" + "java corretto-11.0.21.9.1\n" + "java corretto-11.0.22.7.1\n" + "java corretto-17.0.0.35.1\n" + "java corretto-17.0.0.35.2\n" + "java corretto-17.0.1.12.1\n" + "java corretto-17.0.2.8.1\n" + "java corretto-17.0.3.6.1\n" + "java corretto-17.0.4.8.1\n" + "java corretto-17.0.4.9.1\n" + "java corretto-17.0.5.8.1\n" + "java corretto-17.0.6.10.1\n" + "java corretto-17.0.7.7.1\n" + "java corretto-17.0.8.7.1\n" + "java corretto-17.0.8.8.1\n" + "java corretto-17.0.9.8.1\n" + "java corretto-17.0.10.7.1\n" + "java corretto-18.0.0.35.1\n" + "java corretto-18.0.0.37.1\n" + "java corretto-18.0.1.10.1\n" + "java corretto-18.0.2.9.1\n" + "java corretto-19.0.0.36.1\n" + "java corretto-19.0.1.10.1\n" + "java corretto-19.0.2.7.1\n" + "java corretto-20.0.0.33.1\n" + "java corretto-20.0.0.36.1\n" + "java corretto-20.0.1.9.1\n" + "java corretto-20.0.2.9.1\n" + "java corretto-20.0.2.10.1\n" + "java corretto-21.0.0.34.1\n" + "java corretto-21.0.0.35.1\n" + "java corretto-21.0.1.12.1\n" + "java corretto-21.0.2.13.1\n" + "java graalvm-22.1.0+java11\n" + "java graalvm-22.1.0+java17\n" + "java graalvm-22.2.0+java11\n" + "java graalvm-22.2.0+java17\n" + "java graalvm-22.3.0+java11\n" + "java graalvm-22.3.0+java17\n" + "java graalvm-22.3.0+java19\n" + "java graalvm-22.3.1+java11\n" + "java graalvm-22.3.1+java17\n" + "java graalvm-22.3.1+java19\n" + "java graalvm-community-17.0.7\n" + "java graalvm-community-17.0.8\n" + "java graalvm-community-17.0.9\n" + "java graalvm-community-20.0.1\n" + "java graalvm-community-20.0.2\n" + "java graalvm-community-21.0.0\n" + "java graalvm-community-21.0.1\n" + "java graalvm-community-21.0.2\n" + "java kona-8.0.12.b1\n" + "java kona-11.0.16.b1\n" + "java kona-11.0.16.b2\n" + "java kona-11.0.17.b1\n" + "java kona-11.0.18.b1\n" + "java kona-11.0.19.b1\n" + "java kona-11.0.20.b1\n" + "java kona-11.0.21.b1\n" + "java kona-11.0.22.b1\n" + "java kona-17.0.4.b1\n" + "java kona-17.0.4.b2\n" + "java kona-17.0.5.b1\n" + "java kona-17.0.6.b1\n" + "java kona-17.0.7.b1\n" + "java kona-17.0.8.b1\n" + "java kona-17.0.9.b1\n" + "java kona-17.0.10.b1\n" + "java liberica-8u282+8\n" + "java liberica-8u292+10\n" + "java liberica-8u292+11\n" + "java liberica-8u302+8\n" + "java liberica-8u312+7\n" + "java liberica-8u322+6\n" + "java liberica-8u332+9\n" + "java liberica-8u333+2\n" + "java liberica-8u342+7\n" + "java liberica-8u345+1\n" + "java liberica-8u352+8\n" + "java liberica-8u362+9\n" + "java liberica-8u372+7\n" + "java liberica-8u382+6\n" + "java liberica-8u392+9\n" + "java liberica-8u402+7\n" + "java liberica-11.0.10+9\n" + "java liberica-11.0.11+9\n" + "java liberica-11.0.11+10\n" + "java liberica-11.0.12+7\n" + "java liberica-11.0.13+8\n" + "java liberica-11.0.14+9\n" + "java liberica-11.0.14.1+1\n" + "java liberica-11.0.15+10\n" + "java liberica-11.0.15.1+2\n" + "java liberica-11.0.16+8\n" + "java liberica-11.0.16.1+1\n" + "java liberica-11.0.17+7\n" + "java liberica-11.0.18+10\n" + "java liberica-11.0.19+7\n" + "java liberica-11.0.20+8\n" + "java liberica-11.0.20.1+1\n" + "java liberica-11.0.21+10\n" + "java liberica-11.0.22+12\n" + "java liberica-15.0.2+8\n" + "java liberica-15.0.2+10\n" + "java liberica-16+36\n" + "java liberica-16.0.1+9\n" + "java liberica-16.0.1+10\n" + "java liberica-16.0.2+7\n" + "java liberica-17+35\n" + "java liberica-17.0.1+12\n" + "java liberica-17.0.2+9\n" + "java liberica-17.0.3+7\n" + "java liberica-17.0.3.1+2\n" + "java liberica-17.0.4+8\n" + "java liberica-17.0.4.1+1\n" + "java liberica-17.0.5+8\n" + "java liberica-17.0.6+10\n" + "java liberica-17.0.7+7\n" + "java liberica-17.0.8+7\n" + "java liberica-17.0.8.1+1\n" + "java liberica-17.0.9+11\n" + "java liberica-17.0.10+13\n" + "java liberica-18+37\n" + "java liberica-18.0.1+12\n" + "java liberica-18.0.1.1+2\n" + "java liberica-18.0.2+10\n" + "java liberica-18.0.2.1+1\n" + "java liberica-19+37\n" + "java liberica-19.0.1+11\n" + "java liberica-19.0.2+9\n" + "java liberica-20+37\n" + "java liberica-20.0.1+10\n" + "java liberica-20.0.2+10\n" + "java liberica-21+37\n" + "java liberica-21.0.1+12\n" + "java liberica-21.0.2+14\n" + "java liberica-javafx-8u282+8\n" + "java liberica-javafx-8u292+10\n" + "java liberica-javafx-8u292+11\n" + "java liberica-javafx-8u302+8\n" + "java liberica-javafx-8u312+7\n" + "java liberica-javafx-8u322+6\n" + "java liberica-javafx-8u332+9\n" + "java liberica-javafx-8u333+2\n" + "java liberica-javafx-8u342+7\n" + "java liberica-javafx-8u345+1\n" + "java liberica-javafx-8u352+8\n" + "java liberica-javafx-8u362+9\n" + "java liberica-javafx-8u372+7\n" + "java liberica-javafx-8u382+6\n" + "java liberica-javafx-8u392+9\n" + "java liberica-javafx-8u402+7\n" + "java liberica-javafx-11.0.10+9\n" + "java liberica-javafx-11.0.11+9\n" + "java liberica-javafx-11.0.11+10\n" + "java liberica-javafx-11.0.12+7\n" + "java liberica-javafx-11.0.13+8\n" + "java liberica-javafx-11.0.14+9\n" + "java liberica-javafx-11.0.14.1+1\n" + "java liberica-javafx-11.0.15+10\n" + "java liberica-javafx-11.0.15.1+2\n" + "java liberica-javafx-11.0.16+8\n" + "java liberica-javafx-11.0.16.1+1\n" + "java liberica-javafx-11.0.17+7\n" + "java liberica-javafx-11.0.18+10\n" + "java liberica-javafx-11.0.19+7\n" + "java liberica-javafx-11.0.20+8\n" + "java liberica-javafx-11.0.20.1+1\n" + "java liberica-javafx-11.0.21+10\n" + "java liberica-javafx-11.0.22+12\n" + "java liberica-javafx-15.0.2+8\n" + "java liberica-javafx-15.0.2+10\n" + "java liberica-javafx-16+36\n" + "java liberica-javafx-16.0.1+9\n" + "java liberica-javafx-16.0.1+10\n" + "java liberica-javafx-16.0.2+7\n" + "java liberica-javafx-17+35\n" + "java liberica-javafx-17.0.1+12\n" + "java liberica-javafx-17.0.2+9\n" + "java liberica-javafx-17.0.3+7\n" + "java liberica-javafx-17.0.3.1+2\n" + "java liberica-javafx-17.0.4+8\n" + "java liberica-javafx-17.0.4.1+1\n" + "java liberica-javafx-17.0.5+8\n" + "java liberica-javafx-17.0.6+10\n" + "java liberica-javafx-17.0.7+7\n" + "java liberica-javafx-17.0.8+7\n" + "java liberica-javafx-17.0.8.1+1\n" + "java liberica-javafx-17.0.9+11\n" + "java liberica-javafx-17.0.10+13\n" + "java liberica-javafx-18+37\n" + "java liberica-javafx-18.0.1+12\n" + "java liberica-javafx-18.0.1.1+2\n" + "java liberica-javafx-18.0.2+10\n" + "java liberica-javafx-18.0.2.1+1\n" + "java liberica-javafx-19+37\n" + "java liberica-javafx-19.0.1+11\n" + "java liberica-javafx-19.0.2+9\n" + "java liberica-javafx-20+37\n" + "java liberica-javafx-20.0.1+10\n" + "java liberica-javafx-20.0.2+10\n" + "java liberica-javafx-21+37\n" + "java liberica-javafx-21.0.1+12\n" + "java liberica-javafx-21.0.2+14\n" + "java liberica-jre-8u282+8\n" + "java liberica-jre-8u292+10\n" + "java liberica-jre-8u292+11\n" + "java liberica-jre-8u302+8\n" + "java liberica-jre-8u312+7\n" + "java liberica-jre-8u322+6\n" + "java liberica-jre-8u332+9\n" + "java liberica-jre-8u333+2\n" + "java liberica-jre-8u342+7\n" + "java liberica-jre-8u345+1\n" + "java liberica-jre-8u352+8\n" + "java liberica-jre-8u362+9\n" + "java liberica-jre-8u372+7\n" + "java liberica-jre-8u382+6\n" + "java liberica-jre-8u392+9\n" + "java liberica-jre-8u402+7\n" + "java liberica-jre-11.0.10+9\n" + "java liberica-jre-11.0.11+9\n" + "java liberica-jre-11.0.11+10\n" + "java liberica-jre-11.0.12+7\n" + "java liberica-jre-11.0.13+8\n" + "java liberica-jre-11.0.14+9\n" + "java liberica-jre-11.0.14.1+1\n" + "java liberica-jre-11.0.15+10\n" + "java liberica-jre-11.0.15.1+2\n" + "java liberica-jre-11.0.16+8\n" + "java liberica-jre-11.0.16.1+1\n" + "java liberica-jre-11.0.17+7\n" + "java liberica-jre-11.0.18+10\n" + "java liberica-jre-11.0.19+7\n" + "java liberica-jre-11.0.20+8\n" + "java liberica-jre-11.0.20.1+1\n" + "java liberica-jre-11.0.21+10\n" + "java liberica-jre-11.0.22+12\n" + "java liberica-jre-15.0.2+8\n" + "java liberica-jre-15.0.2+10\n" + "java liberica-jre-16+36\n" + "java liberica-jre-16.0.1+9\n" + "java liberica-jre-16.0.1+10\n" + "java liberica-jre-16.0.2+7\n" + "java liberica-jre-17+35\n" + "java liberica-jre-17.0.1+12\n" + "java liberica-jre-17.0.2+9\n" + "java liberica-jre-17.0.3+7\n" + "java liberica-jre-17.0.3.1+2\n" + "java liberica-jre-17.0.4+8\n" + "java liberica-jre-17.0.4.1+1\n" + "java liberica-jre-17.0.5+8\n" + "java liberica-jre-17.0.6+10\n" + "java liberica-jre-17.0.7+7\n" + "java liberica-jre-17.0.8+7\n" + "java liberica-jre-17.0.8.1+1\n" + "java liberica-jre-17.0.9+11\n" + "java liberica-jre-17.0.10+13\n" + "java liberica-jre-18+37\n" + "java liberica-jre-18.0.1+12\n" + "java liberica-jre-18.0.1.1+2\n" + "java liberica-jre-18.0.2+10\n" + "java liberica-jre-18.0.2.1+1\n" + "java liberica-jre-19+37\n" + "java liberica-jre-19.0.1+11\n" + "java liberica-jre-19.0.2+9\n" + "java liberica-jre-20+37\n" + "java liberica-jre-20.0.1+10\n" + "java liberica-jre-20.0.2+10\n" + "java liberica-jre-21+37\n" + "java liberica-jre-21.0.1+12\n" + "java liberica-jre-21.0.2+14\n" + "java liberica-jre-javafx-8u282+8\n" + "java liberica-jre-javafx-8u292+10\n" + "java liberica-jre-javafx-8u292+11\n" + "java liberica-jre-javafx-8u302+8\n" + "java liberica-jre-javafx-8u312+7\n" + "java liberica-jre-javafx-8u322+6\n" + "java liberica-jre-javafx-8u332+9\n" + "java liberica-jre-javafx-8u333+2\n" + "java liberica-jre-javafx-8u342+7\n" + "java liberica-jre-javafx-8u345+1\n" + "java liberica-jre-javafx-8u352+8\n" + "java liberica-jre-javafx-8u362+9\n" + "java liberica-jre-javafx-8u372+7\n" + "java liberica-jre-javafx-8u382+6\n" + "java liberica-jre-javafx-8u392+9\n" + "java liberica-jre-javafx-8u402+7\n" + "java liberica-jre-javafx-11.0.10+9\n" + "java liberica-jre-javafx-11.0.11+9\n" + "java liberica-jre-javafx-11.0.11+10\n" + "java liberica-jre-javafx-11.0.12+7\n" + "java liberica-jre-javafx-11.0.13+8\n" + "java liberica-jre-javafx-11.0.14+9\n" + "java liberica-jre-javafx-11.0.14.1+1\n" + "java liberica-jre-javafx-11.0.15+10\n" + "java liberica-jre-javafx-11.0.15.1+2\n" + "java liberica-jre-javafx-11.0.16+8\n" + "java liberica-jre-javafx-11.0.16.1+1\n" + "java liberica-jre-javafx-11.0.17+7\n" + "java liberica-jre-javafx-11.0.18+10\n" + "java liberica-jre-javafx-11.0.19+7\n" + "java liberica-jre-javafx-11.0.20+8\n" + "java liberica-jre-javafx-11.0.20.1+1\n" + "java liberica-jre-javafx-11.0.21+10\n" + "java liberica-jre-javafx-11.0.22+12\n" + "java liberica-jre-javafx-15.0.2+8\n" + "java liberica-jre-javafx-15.0.2+10\n" + "java liberica-jre-javafx-16+36\n" + "java liberica-jre-javafx-16.0.1+9\n" + "java liberica-jre-javafx-16.0.1+10\n" + "java liberica-jre-javafx-16.0.2+7\n" + "java liberica-jre-javafx-17+35\n" + "java liberica-jre-javafx-17.0.1+12\n" + "java liberica-jre-javafx-17.0.2+9\n" + "java liberica-jre-javafx-17.0.3+7\n" + "java liberica-jre-javafx-17.0.3.1+2\n" + "java liberica-jre-javafx-17.0.4+8\n" + "java liberica-jre-javafx-17.0.4.1+1\n" + "java liberica-jre-javafx-17.0.5+8\n" + "java liberica-jre-javafx-17.0.6+10\n" + "java liberica-jre-javafx-17.0.7+7\n" + "java liberica-jre-javafx-17.0.8+7\n" + "java liberica-jre-javafx-17.0.8.1+1\n" + "java liberica-jre-javafx-17.0.9+11\n" + "java liberica-jre-javafx-17.0.10+13\n" + "java liberica-jre-javafx-18+37\n" + "java liberica-jre-javafx-18.0.1+12\n" + "java liberica-jre-javafx-18.0.1.1+2\n" + "java liberica-jre-javafx-18.0.2+10\n" + "java liberica-jre-javafx-18.0.2.1+1\n" + "java liberica-jre-javafx-19+37\n" + "java liberica-jre-javafx-19.0.1+11\n" + "java liberica-jre-javafx-19.0.2+9\n" + "java liberica-jre-javafx-20+37\n" + "java liberica-jre-javafx-20.0.1+10\n" + "java liberica-jre-javafx-20.0.2+10\n" + "java liberica-jre-javafx-21+37\n" + "java liberica-jre-javafx-21.0.1+12\n" + "java liberica-jre-javafx-21.0.2+14\n" + "java liberica-lite-8u302+8\n" + "java liberica-lite-8u312+7\n" + "java liberica-lite-8u322+6\n" + "java liberica-lite-8u332+9\n" + "java liberica-lite-8u333+2\n" + "java liberica-lite-8u342+7\n" + "java liberica-lite-8u345+1\n" + "java liberica-lite-8u352+8\n" + "java liberica-lite-8u362+9\n" + "java liberica-lite-8u372+7\n" + "java liberica-lite-8u382+6\n" + "java liberica-lite-8u392+9\n" + "java liberica-lite-8u402+7\n" + "java liberica-lite-11.0.10+9\n" + "java liberica-lite-11.0.11+9\n" + "java liberica-lite-11.0.11+10\n" + "java liberica-lite-11.0.12+7\n" + "java liberica-lite-11.0.13+8\n" + "java liberica-lite-11.0.14+9\n" + "java liberica-lite-11.0.14.1+1\n" + "java liberica-lite-11.0.15+10\n" + "java liberica-lite-11.0.15.1+2\n" + "java liberica-lite-11.0.16+8\n" + "java liberica-lite-11.0.16.1+1\n" + "java liberica-lite-11.0.17+7\n" + "java liberica-lite-11.0.18+10\n" + "java liberica-lite-11.0.19+7\n" + "java liberica-lite-11.0.20+8\n" + "java liberica-lite-11.0.20.1+1\n" + "java liberica-lite-11.0.21+10\n" + "java liberica-lite-11.0.22+12\n" + "java liberica-lite-15.0.2+8\n" + "java liberica-lite-15.0.2+10\n" + "java liberica-lite-16+36\n" + "java liberica-lite-16.0.1+9\n" + "java liberica-lite-16.0.1+10\n" + "java liberica-lite-16.0.2+7\n" + "java liberica-lite-17+35\n" + "java liberica-lite-17.0.1+12\n" + "java liberica-lite-17.0.2+9\n" + "java liberica-lite-17.0.3+7\n" + "java liberica-lite-17.0.3.1+2\n" + "java liberica-lite-17.0.4+8\n" + "java liberica-lite-17.0.4.1+1\n" + "java liberica-lite-17.0.5+8\n" + "java liberica-lite-17.0.6+10\n" + "java liberica-lite-17.0.7+7\n" + "java liberica-lite-17.0.8+7\n" + "java liberica-lite-17.0.8.1+1\n" + "java liberica-lite-17.0.9+11\n" + "java liberica-lite-17.0.10+13\n" + "java liberica-lite-18+37\n" + "java liberica-lite-18.0.1+12\n" + "java liberica-lite-18.0.1.1+2\n" + "java liberica-lite-18.0.2+10\n" + "java liberica-lite-18.0.2.1+1\n" + "java liberica-lite-19+37\n" + "java liberica-lite-19.0.1+11\n" + "java liberica-lite-19.0.2+9\n" + "java liberica-lite-20+37\n" + "java liberica-lite-20.0.1+10\n" + "java liberica-lite-20.0.2+10\n" + "java liberica-lite-21+37\n" + "java liberica-lite-21.0.1+12\n" + "java liberica-lite-21.0.2+14\n" + "java microsoft-11.0.14.9.1\n" + "java microsoft-11.0.15\n" + "java microsoft-11.0.16\n" + "java microsoft-11.0.16.1\n" + "java microsoft-11.0.17\n" + "java microsoft-11.0.18\n" + "java microsoft-11.0.19\n" + "java microsoft-11.0.20\n" + "java microsoft-11.0.20.1\n" + "java microsoft-11.0.21\n" + "java microsoft-11.0.22\n" + "java microsoft-16.0.2.7.1\n" + "java microsoft-17.0.1.12.1\n" + "java microsoft-17.0.2.8.1\n" + "java microsoft-17.0.3\n" + "java microsoft-17.0.4\n" + "java microsoft-17.0.4.1\n" + "java microsoft-17.0.5\n" + "java microsoft-17.0.6\n" + "java microsoft-17.0.7\n" + "java microsoft-17.0.8\n" + "java microsoft-17.0.8.1\n" + "java microsoft-17.0.9\n" + "java microsoft-17.0.10\n" + "java microsoft-17.35.1\n" + "java microsoft-21.0.0\n" + "java microsoft-21.0.1\n" + "java microsoft-21.0.2\n" + "java openjdk-17\n" + "java openjdk-17.0.1\n" + "java openjdk-17.0.2\n" + "java openjdk-18\n" + "java openjdk-18.0.1\n" + "java openjdk-18.0.1.1\n" + "java openjdk-18.0.2\n" + "java openjdk-18.0.2.1\n" + "java openjdk-19\n" + "java openjdk-19.0.1\n" + "java openjdk-19.0.2\n" + "java openjdk-20\n" + "java openjdk-20.0.1\n" + "java openjdk-20.0.2\n" + "java openjdk-21\n" + "java openjdk-21.0.1\n" + "java openjdk-21.0.2\n" + "java openjdk-22\n" + "java openjdk-23-loom+2-48\n" + "java oracle-17\n" + "java oracle-17.0.1\n" + "java oracle-17.0.2\n" + "java oracle-17.0.3\n" + "java oracle-17.0.3.1\n" + "java oracle-17.0.4\n" + "java oracle-17.0.4.1\n" + "java oracle-17.0.5\n" + "java oracle-17.0.6\n" + "java oracle-17.0.7\n" + "java oracle-17.0.8\n" + "java oracle-17.0.9\n" + "java oracle-17.0.10\n" + "java oracle-18\n" + "java oracle-18.0.1\n" + "java oracle-18.0.1.1\n" + "java oracle-18.0.2\n" + "java oracle-18.0.2.1\n" + "java oracle-19\n" + "java oracle-19.0.1\n" + "java oracle-19.0.2\n" + "java oracle-20\n" + "java oracle-20.0.1\n" + "java oracle-20.0.2\n" + "java oracle-21\n" + "java oracle-21.0.1\n" + "java oracle-21.0.2\n" + "java oracle-graalvm-17.0.7\n" + "java oracle-graalvm-17.0.8\n" + "java oracle-graalvm-17.0.9\n" + "java oracle-graalvm-17.0.10\n" + "java oracle-graalvm-20.0.1\n" + "java oracle-graalvm-20.0.2\n" + "java oracle-graalvm-21\n" + "java oracle-graalvm-21.0.1\n" + "java oracle-graalvm-21.0.2\n" + "java sapmachine-0.0.0\n" + "java sapmachine-11.0.16\n" + "java sapmachine-11.0.16.1\n" + "java sapmachine-11.0.17\n" + "java sapmachine-11.0.18\n" + "java sapmachine-11.0.19\n" + "java sapmachine-11.0.19-snapshot.1\n" + "java sapmachine-11.0.20\n" + "java sapmachine-11.0.20.1\n" + "java sapmachine-11.0.21\n" + "java sapmachine-11.0.22\n" + "java sapmachine-17\n" + "java sapmachine-17.0.1\n" + "java sapmachine-17.0.2\n" + "java sapmachine-17.0.3\n" + "java sapmachine-17.0.3.0.1\n" + "java sapmachine-17.0.4\n" + "java sapmachine-17.0.4-snapshot.0\n" + "java sapmachine-17.0.4.1\n" + "java sapmachine-17.0.5\n" + "java sapmachine-17.0.6\n" + "java sapmachine-17.0.7\n" + "java sapmachine-17.0.7-snapshot.1\n" + "java sapmachine-17.0.8\n" + "java sapmachine-17.0.8.1\n" + "java sapmachine-17.0.9\n" + "java sapmachine-17.0.10\n" + "java sapmachine-18\n" + "java sapmachine-18-internal.0\n" + "java sapmachine-18.0.1\n" + "java sapmachine-18.0.1.1\n" + "java sapmachine-18.0.2\n" + "java sapmachine-18.0.2.1\n" + "java sapmachine-19\n" + "java sapmachine-19-snapshot\n" + "java sapmachine-19.0.1\n" + "java sapmachine-19.0.2\n" + "java sapmachine-20\n" + "java sapmachine-20-snapshot.35\n" + "java sapmachine-20.0.1\n" + "java sapmachine-20.0.2\n" + "java sapmachine-21\n" + "java sapmachine-21.0.1\n" + "java sapmachine-21.0.2\n" + "java sapmachine-jre-0.0.0\n" + "java sapmachine-jre-11.0.16\n" + "java sapmachine-jre-11.0.16.1\n" + "java sapmachine-jre-11.0.17\n" + "java sapmachine-jre-11.0.18\n" + "java sapmachine-jre-11.0.19\n" + "java sapmachine-jre-11.0.19-snapshot.1\n" + "java sapmachine-jre-11.0.20\n" + "java sapmachine-jre-11.0.20.1\n" + "java sapmachine-jre-11.0.21\n" + "java sapmachine-jre-11.0.22\n" + "java sapmachine-jre-17\n" + "java sapmachine-jre-17.0.1\n" + "java sapmachine-jre-17.0.2\n" + "java sapmachine-jre-17.0.3\n" + "java sapmachine-jre-17.0.3.0.1\n" + "java sapmachine-jre-17.0.4\n" + "java sapmachine-jre-17.0.4-snapshot.0\n" + "java sapmachine-jre-17.0.4.1\n" + "java sapmachine-jre-17.0.5\n" + "java sapmachine-jre-17.0.6\n" + "java sapmachine-jre-17.0.7\n" + "java sapmachine-jre-17.0.7-snapshot.1\n" + "java sapmachine-jre-17.0.8\n" + "java sapmachine-jre-17.0.8.1\n" + "java sapmachine-jre-17.0.9\n" + "java sapmachine-jre-17.0.10\n" + "java sapmachine-jre-18\n" + "java sapmachine-jre-18-internal.0\n" + "java sapmachine-jre-18.0.1\n" + "java sapmachine-jre-18.0.1.1\n" + "java sapmachine-jre-18.0.2\n" + "java sapmachine-jre-18.0.2.1\n" + "java sapmachine-jre-19\n" + "java sapmachine-jre-19-snapshot\n" + "java sapmachine-jre-19.0.1\n" + "java sapmachine-jre-19.0.2\n" + "java sapmachine-jre-20\n" + "java sapmachine-jre-20-snapshot.35\n" + "java sapmachine-jre-20.0.1\n" + "java sapmachine-jre-20.0.2\n" + "java sapmachine-jre-21\n" + "java sapmachine-jre-21.0.1\n" + "java sapmachine-jre-21.0.2\n" + "java semeru-jre-openj9-11.0.15+10_openj9-0.32.0\n" + "java semeru-jre-openj9-11.0.16+8_openj9-0.33.0\n" + "java semeru-jre-openj9-11.0.16.1+1_openj9-0.33.1\n" + "java semeru-jre-openj9-11.0.17+8_openj9-0.35.0\n" + "java semeru-jre-openj9-11.0.18+10_openj9-0.36.1\n" + "java semeru-jre-openj9-11.0.19+7_openj9-0.38.0\n" + "java semeru-jre-openj9-11.0.20+8_openj9-0.40.0\n" + "java semeru-jre-openj9-11.0.20.1+1_openj9-0.40.0\n" + "java semeru-jre-openj9-11.0.21+9_openj9-0.41.0\n" + "java semeru-jre-openj9-11.0.22+7_openj9-0.43.0\n" + "java semeru-jre-openj9-17.0.3+7_openj9-0.32.0\n" + "java semeru-jre-openj9-17.0.4+8_openj9-0.33.0\n" + "java semeru-jre-openj9-17.0.4.1+1_openj9-0.33.1\n" + "java semeru-jre-openj9-17.0.5+8_openj9-0.35.0\n" + "java semeru-jre-openj9-17.0.6+10_openj9-0.36.0\n" + "java semeru-jre-openj9-17.0.7+7_openj9-0.38.0\n" + "java semeru-jre-openj9-17.0.8+7_openj9-0.40.0\n" + "java semeru-jre-openj9-17.0.8.1+1_openj9-0.40.0\n" + "java semeru-jre-openj9-17.0.9+9_openj9-0.41.0\n" + "java semeru-jre-openj9-17.0.10+7_openj9-0.43.0\n" + "java semeru-jre-openj9-18.0.1+10_openj9-0.32.0\n" + "java semeru-jre-openj9-18.0.1.1+2_openj9-0.32.0\n" + "java semeru-jre-openj9-18.0.2+9_openj9-0.33.0\n" + "java semeru-jre-openj9-18.0.2+9_openj9-0.33.1\n" + "java semeru-jre-openj9-19.0.2+7_openj9-0.37.0\n" + "java semeru-jre-openj9-20.0.1+9_openj9-0.39.0\n" + "java semeru-jre-openj9-20.0.2+9_openj9-0.40.0\n" + "java semeru-jre-openj9-21.0.1+12_openj9-0.42.0\n" + "java semeru-jre-openj9-21.0.2+13_openj9-0.43.0\n" + "java semeru-openj9-11.0.15+10_openj9-0.32.0\n" + "java semeru-openj9-11.0.16+8_openj9-0.33.0\n" + "java semeru-openj9-11.0.16.1+1_openj9-0.33.1\n" + "java semeru-openj9-11.0.17+8_openj9-0.35.0\n" + "java semeru-openj9-11.0.18+10_openj9-0.36.1\n" + "java semeru-openj9-11.0.19+7_openj9-0.38.0\n" + "java semeru-openj9-11.0.20+8_openj9-0.40.0\n" + "java semeru-openj9-11.0.20.1+1_openj9-0.40.0\n" + "java semeru-openj9-11.0.21+9_openj9-0.41.0\n" + "java semeru-openj9-11.0.22+7_openj9-0.43.0\n" + "java semeru-openj9-17.0.3+7_openj9-0.32.0\n" + "java semeru-openj9-17.0.4+8_openj9-0.33.0\n" + "java semeru-openj9-17.0.4.1+1_openj9-0.33.1\n" + "java semeru-openj9-17.0.5+8_openj9-0.35.0\n" + "java semeru-openj9-17.0.6+10_openj9-0.36.0\n" + "java semeru-openj9-17.0.7+7_openj9-0.38.0\n" + "java semeru-openj9-17.0.8+7_openj9-0.40.0\n" + "java semeru-openj9-17.0.8.1+1_openj9-0.40.0\n" + "java semeru-openj9-17.0.9+9_openj9-0.41.0\n" + "java semeru-openj9-17.0.10+7_openj9-0.43.0\n" + "java semeru-openj9-18.0.1+10_openj9-0.32.0\n" + "java semeru-openj9-18.0.1.1+2_openj9-0.32.0\n" + "java semeru-openj9-18.0.2+9_openj9-0.33.0\n" + "java semeru-openj9-18.0.2+9_openj9-0.33.1\n" + "java semeru-openj9-19.0.2+7_openj9-0.37.0\n" + "java semeru-openj9-20.0.1+9_openj9-0.39.0\n" + "java semeru-openj9-20.0.2+9_openj9-0.40.0\n" + "java semeru-openj9-21.0.1+12_openj9-0.42.0\n" + "java semeru-openj9-21.0.2+13_openj9-0.43.0\n" + "java temurin-11.0.15+10\n" + "java temurin-11.0.16+8\n" + "java temurin-11.0.16+101\n" + "java temurin-11.0.17+8\n" + "java temurin-11.0.18+10\n" + "java temurin-11.0.19+7\n" + "java temurin-11.0.20+8\n" + "java temurin-11.0.20+101\n" + "java temurin-11.0.21+9\n" + "java temurin-11.0.22+7\n" + "java temurin-17.0.0+35\n" + "java temurin-17.0.1+12\n" + "java temurin-17.0.2+8\n" + "java temurin-17.0.3+7\n" + "java temurin-17.0.4+8\n" + "java temurin-17.0.4+101\n" + "java temurin-17.0.5+8\n" + "java temurin-17.0.6+10\n" + "java temurin-17.0.7+7\n" + "java temurin-17.0.8+7\n" + "java temurin-17.0.8+101\n" + "java temurin-17.0.9+9\n" + "java temurin-17.0.10+7\n" + "java temurin-18.0.0+36\n" + "java temurin-18.0.1+10\n" + "java temurin-18.0.2+9\n" + "java temurin-18.0.2+101\n" + "java temurin-19.0.0+36\n" + "java temurin-19.0.0-beta+36.0.202208190932\n" + "java temurin-19.0.1+10\n" + "java temurin-19.0.2+7\n" + "java temurin-20.0.0+36\n" + "java temurin-20.0.1+9\n" + "java temurin-20.0.2+9\n" + "java temurin-21.0.0+35.0.LTS\n" + "java temurin-21.0.1+12.0.LTS\n" + "java temurin-21.0.2+13.0.LTS\n" + "java temurin-jre-11.0.15+10\n" + "java temurin-jre-11.0.16+8\n" + "java temurin-jre-11.0.16+101\n" + "java temurin-jre-11.0.17+8\n" + "java temurin-jre-11.0.18+10\n" + "java temurin-jre-11.0.19+7\n" + "java temurin-jre-11.0.20+8\n" + "java temurin-jre-11.0.20+101\n" + "java temurin-jre-11.0.21+9\n" + "java temurin-jre-11.0.22+7\n" + "java temurin-jre-17.0.1+12\n" + "java temurin-jre-17.0.2+8\n" + "java temurin-jre-17.0.3+7\n" + "java temurin-jre-17.0.4+8\n" + "java temurin-jre-17.0.4+101\n" + "java temurin-jre-17.0.5+8\n" + "java temurin-jre-17.0.6+10\n" + "java temurin-jre-17.0.7+7\n" + "java temurin-jre-17.0.8+7\n" + "java temurin-jre-17.0.8+101\n" + "java temurin-jre-17.0.9+9\n" + "java temurin-jre-17.0.10+7\n" + "java temurin-jre-18.0.1+10\n" + "java temurin-jre-18.0.2+9\n" + "java temurin-jre-18.0.2+101\n" + "java temurin-jre-19.0.0+36\n" + "java temurin-jre-19.0.0-beta+36.0.202208190932\n" + "java temurin-jre-19.0.1+10\n" + "java temurin-jre-19.0.2+7\n" + "java temurin-jre-20.0.0+36\n" + "java temurin-jre-20.0.1+9\n" + "java temurin-jre-20.0.2+9\n" + "java temurin-jre-21.0.0+35.0.LTS\n" + "java temurin-jre-21.0.1+12.0.LTS\n" + "java temurin-jre-21.0.2+13.0.LTS\n" + "java zulu-8.52.0.23\n" + "java zulu-8.54.0.21\n" + "java zulu-8.56.0.23\n" + "java zulu-8.58.0.13\n" + "java zulu-8.60.0.21\n" + "java zulu-8.62.0.19\n" + "java zulu-8.62.0.19_1\n" + "java zulu-8.64.0.15\n" + "java zulu-8.64.0.19\n" + "java zulu-8.66.0.15\n" + "java zulu-8.68.0.19\n" + "java zulu-8.68.0.21\n" + "java zulu-8.70.0.23\n" + "java zulu-8.72.0.17\n" + "java zulu-8.74.0.17\n" + "java zulu-11.43.1017\n" + "java zulu-11.43.1021\n" + "java zulu-11.45.27\n" + "java zulu-11.48.21\n" + "java zulu-11.50.19\n" + "java zulu-11.52.13\n" + "java zulu-11.54.23\n" + "java zulu-11.54.25\n" + "java zulu-11.56.19\n" + "java zulu-11.58.15\n" + "java zulu-11.58.23\n" + "java zulu-11.60.19\n" + "java zulu-11.62.17\n" + "java zulu-11.64.19\n" + "java zulu-11.66.15\n" + "java zulu-11.66.15_1\n" + "java zulu-11.66.19\n" + "java zulu-11.68.17\n" + "java zulu-13.35.1019\n" + "java zulu-13.35.1025\n" + "java zulu-13.37.21\n" + "java zulu-13.40.15\n" + "java zulu-13.42.17\n" + "java zulu-13.44.13\n" + "java zulu-13.46.15\n" + "java zulu-13.48.19\n" + "java zulu-13.48.19_1\n" + "java zulu-13.50.15\n" + "java zulu-13.52.15\n" + "java zulu-13.54.17\n" + "java zulu-15.28.1013\n" + "java zulu-15.29.15\n" + "java zulu-15.32.15\n" + "java zulu-15.34.17\n" + "java zulu-15.36.13\n" + "java zulu-15.38.17\n" + "java zulu-15.40.19\n" + "java zulu-15.40.19_1\n" + "java zulu-15.42.15\n" + "java zulu-15.44.13\n" + "java zulu-15.46.17\n" + "java zulu-16.28.11\n" + "java zulu-16.30.15\n" + "java zulu-16.30.19\n" + "java zulu-16.32.15\n" + "java zulu-17.28.13\n" + "java zulu-17.30.15\n" + "java zulu-17.32.13\n" + "java zulu-17.34.19\n" + "java zulu-17.34.19_1\n" + "java zulu-17.36.13\n" + "java zulu-17.36.17\n" + "java zulu-17.38.21\n" + "java zulu-17.40.19\n" + "java zulu-17.42.19\n" + "java zulu-17.44.15\n" + "java zulu-17.44.15_1\n" + "java zulu-17.44.53\n" + "java zulu-17.46.19\n" + "java zulu-18.28.13\n" + "java zulu-18.30.11\n" + "java zulu-18.32.11\n" + "java zulu-18.32.13\n" + "java zulu-19.28.81\n" + "java zulu-19.30.11\n" + "java zulu-19.32.13\n" + "java zulu-20.28.85\n" + "java zulu-20.30.11\n" + "java zulu-20.32.11\n" + "java zulu-20.32.11_1\n" + "java zulu-21.28.85\n" + "java zulu-21.30.15\n" + "java zulu-javafx-8.52.0.23\n" + "java zulu-javafx-8.54.0.21\n" + "java zulu-javafx-8.56.0.23\n" + "java zulu-javafx-8.58.0.13\n" + "java zulu-javafx-8.58.0.53\n" + "java zulu-javafx-8.60.0.21\n" + "java zulu-javafx-8.62.0.19\n" + "java zulu-javafx-8.64.0.15\n" + "java zulu-javafx-8.64.0.19\n" + "java zulu-javafx-8.66.0.15\n" + "java zulu-javafx-8.68.0.21\n" + "java zulu-javafx-8.70.0.23\n" + "java zulu-javafx-8.72.0.17\n" + "java zulu-javafx-8.74.0.17\n" + "java zulu-javafx-11.45.27\n" + "java zulu-javafx-11.48.21\n" + "java zulu-javafx-11.50.19\n" + "java zulu-javafx-11.52.13\n" + "java zulu-javafx-11.52.51\n" + "java zulu-javafx-11.54.23\n" + "java zulu-javafx-11.54.25\n" + "java zulu-javafx-11.56.19\n" + "java zulu-javafx-11.58.15\n" + "java zulu-javafx-11.58.23\n" + "java zulu-javafx-11.60.19\n" + "java zulu-javafx-11.62.17\n" + "java zulu-javafx-11.64.19\n" + "java zulu-javafx-11.66.15\n" + "java zulu-javafx-11.66.15_1\n" + "java zulu-javafx-11.66.19\n" + "java zulu-javafx-11.68.17\n" + "java zulu-javafx-13.37.21\n" + "java zulu-javafx-13.40.15\n" + "java zulu-javafx-13.42.17\n" + "java zulu-javafx-13.44.13\n" + "java zulu-javafx-13.44.51\n" + "java zulu-javafx-13.46.15\n" + "java zulu-javafx-13.48.19\n" + "java zulu-javafx-13.50.15\n" + "java zulu-javafx-13.52.15\n" + "java zulu-javafx-13.54.17\n" + "java zulu-javafx-15.29.15\n" + "java zulu-javafx-15.32.15\n" + "java zulu-javafx-15.34.17\n" + "java zulu-javafx-15.36.13\n" + "java zulu-javafx-15.36.51\n" + "java zulu-javafx-15.38.17\n" + "java zulu-javafx-15.40.19\n" + "java zulu-javafx-15.42.15\n" + "java zulu-javafx-15.44.13\n" + "java zulu-javafx-15.46.17\n" + "java zulu-javafx-16.30.15\n" + "java zulu-javafx-16.30.19\n" + "java zulu-javafx-16.32.15\n" + "java zulu-javafx-17.28.13\n" + "java zulu-javafx-17.30.15\n" + "java zulu-javafx-17.30.51\n" + "java zulu-javafx-17.32.13\n" + "java zulu-javafx-17.34.19\n" + "java zulu-javafx-17.36.13\n" + "java zulu-javafx-17.36.17\n" + "java zulu-javafx-17.38.21\n" + "java zulu-javafx-17.40.19\n" + "java zulu-javafx-17.42.19\n" + "java zulu-javafx-17.44.15\n" + "java zulu-javafx-17.44.15_1\n" + "java zulu-javafx-17.44.53\n" + "java zulu-javafx-17.46.19\n" + "java zulu-javafx-18.28.13\n" + "java zulu-javafx-18.30.11\n" + "java zulu-javafx-18.32.11\n" + "java zulu-javafx-18.32.13\n" + "java zulu-javafx-19.28.81\n" + "java zulu-javafx-19.30.11\n" + "java zulu-javafx-19.32.15\n" + "java zulu-javafx-20.28.85\n" + "java zulu-javafx-20.30.11\n" + "java zulu-javafx-20.32.11\n" + "java zulu-javafx-20.32.11_1\n" + "java zulu-javafx-21.28.85\n" + "java zulu-javafx-21.30.15\n" + "java zulu-jre-8.52.0.23\n" + "java zulu-jre-8.54.0.21\n" + "java zulu-jre-8.56.0.23\n" + "java zulu-jre-8.58.0.13\n" + "java zulu-jre-8.60.0.21\n" + "java zulu-jre-8.62.0.19\n" + "java zulu-jre-8.64.0.15\n" + "java zulu-jre-8.64.0.19\n" + "java zulu-jre-8.66.0.15\n" + "java zulu-jre-8.68.0.19\n" + "java zulu-jre-8.68.0.21\n" + "java zulu-jre-8.70.0.23\n" + "java zulu-jre-8.72.0.17\n" + "java zulu-jre-8.74.0.17\n" + "java zulu-jre-11.45.27\n" + "java zulu-jre-11.48.21\n" + "java zulu-jre-11.50.19\n" + "java zulu-jre-11.52.13\n" + "java zulu-jre-11.54.23\n" + "java zulu-jre-11.54.25\n" + "java zulu-jre-11.56.19\n" + "java zulu-jre-11.58.15\n" + "java zulu-jre-11.58.23\n" + "java zulu-jre-11.60.19\n" + "java zulu-jre-11.62.17\n" + "java zulu-jre-11.64.19\n" + "java zulu-jre-11.66.15\n" + "java zulu-jre-11.66.15_1\n" + "java zulu-jre-11.66.19\n" + "java zulu-jre-11.68.17\n" + "java zulu-jre-13.37.21\n" + "java zulu-jre-13.40.15\n" + "java zulu-jre-13.42.17\n" + "java zulu-jre-13.44.13\n" + "java zulu-jre-13.46.15\n" + "java zulu-jre-13.48.19\n" + "java zulu-jre-13.50.15\n" + "java zulu-jre-13.52.15\n" + "java zulu-jre-13.54.17\n" + "java zulu-jre-15.29.15\n" + "java zulu-jre-15.32.15\n" + "java zulu-jre-15.34.17\n" + "java zulu-jre-15.36.13\n" + "java zulu-jre-15.38.17\n" + "java zulu-jre-15.40.19\n" + "java zulu-jre-15.42.15\n" + "java zulu-jre-15.44.13\n" + "java zulu-jre-15.46.17\n" + "java zulu-jre-16.28.11\n" + "java zulu-jre-16.30.15\n" + "java zulu-jre-16.30.19\n" + "java zulu-jre-16.32.15\n" + "java zulu-jre-17.28.13\n" + "java zulu-jre-17.30.15\n" + "java zulu-jre-17.32.13\n" + "java zulu-jre-17.34.19\n" + "java zulu-jre-17.36.13\n" + "java zulu-jre-17.36.17\n" + "java zulu-jre-17.38.21\n" + "java zulu-jre-17.40.19\n" + "java zulu-jre-17.42.19\n" + "java zulu-jre-17.44.15\n" + "java zulu-jre-17.44.15_1\n" + "java zulu-jre-17.44.53\n" + "java zulu-jre-17.46.19\n" + "java zulu-jre-18.28.13\n" + "java zulu-jre-18.30.11\n" + "java zulu-jre-18.32.11\n" + "java zulu-jre-18.32.13\n" + "java zulu-jre-19.28.81\n" + "java zulu-jre-19.30.11\n" + "java zulu-jre-19.32.13\n" + "java zulu-jre-20.28.85\n" + "java zulu-jre-20.30.11\n" + "java zulu-jre-20.32.11\n" + "java zulu-jre-20.32.11_1\n" + "java zulu-jre-21.28.85\n" + "java zulu-jre-21.30.15\n" + "java zulu-jre-javafx-8.52.0.23\n" + "java zulu-jre-javafx-8.54.0.21\n" + "java zulu-jre-javafx-8.56.0.23\n" + "java zulu-jre-javafx-8.58.0.13\n" + "java zulu-jre-javafx-8.58.0.53\n" + "java zulu-jre-javafx-8.60.0.21\n" + "java zulu-jre-javafx-8.62.0.19\n" + "java zulu-jre-javafx-8.64.0.15\n" + "java zulu-jre-javafx-8.64.0.19\n" + "java zulu-jre-javafx-8.66.0.15\n" + "java zulu-jre-javafx-8.68.0.21\n" + "java zulu-jre-javafx-8.70.0.23\n" + "java zulu-jre-javafx-8.72.0.17\n" + "java zulu-jre-javafx-8.74.0.17\n" + "java zulu-jre-javafx-11.45.27\n" + "java zulu-jre-javafx-11.48.21\n" + "java zulu-jre-javafx-11.50.19\n" + "java zulu-jre-javafx-11.52.13\n" + "java zulu-jre-javafx-11.52.51\n" + "java zulu-jre-javafx-11.54.23\n" + "java zulu-jre-javafx-11.54.25\n" + "java zulu-jre-javafx-11.56.19\n" + "java zulu-jre-javafx-11.58.15\n" + "java zulu-jre-javafx-11.58.23\n" + "java zulu-jre-javafx-11.60.19\n" + "java zulu-jre-javafx-11.62.17\n" + "java zulu-jre-javafx-11.64.19\n" + "java zulu-jre-javafx-11.66.15\n" + "java zulu-jre-javafx-11.66.15_1\n" + "java zulu-jre-javafx-11.66.19\n" + "java zulu-jre-javafx-11.68.17\n" + "java zulu-jre-javafx-13.37.21\n" + "java zulu-jre-javafx-13.40.15\n" + "java zulu-jre-javafx-13.42.17\n" + "java zulu-jre-javafx-13.44.13\n" + "java zulu-jre-javafx-13.44.51\n" + "java zulu-jre-javafx-13.46.15\n" + "java zulu-jre-javafx-13.48.19\n" + "java zulu-jre-javafx-13.50.15\n" + "java zulu-jre-javafx-13.52.15\n" + "java zulu-jre-javafx-13.54.17\n" + "java zulu-jre-javafx-15.29.15\n" + "java zulu-jre-javafx-15.32.15\n" + "java zulu-jre-javafx-15.34.17\n" + "java zulu-jre-javafx-15.36.13\n" + "java zulu-jre-javafx-15.36.51\n" + "java zulu-jre-javafx-15.38.17\n" + "java zulu-jre-javafx-15.40.19\n" + "java zulu-jre-javafx-15.42.15\n" + "java zulu-jre-javafx-15.44.13\n" + "java zulu-jre-javafx-15.46.17\n" + "java zulu-jre-javafx-17.28.13\n" + "java zulu-jre-javafx-17.30.15\n" + "java zulu-jre-javafx-17.30.51\n" + "java zulu-jre-javafx-17.32.13\n" + "java zulu-jre-javafx-17.34.19\n" + "java zulu-jre-javafx-17.36.13\n" + "java zulu-jre-javafx-17.36.17\n" + "java zulu-jre-javafx-17.38.21\n" + "java zulu-jre-javafx-17.40.19\n" + "java zulu-jre-javafx-17.42.19\n" + "java zulu-jre-javafx-17.44.15\n" + "java zulu-jre-javafx-17.44.15_1\n" + "java zulu-jre-javafx-17.44.53\n" + "java zulu-jre-javafx-17.46.19\n" + "java zulu-jre-javafx-18.28.13\n" + "java zulu-jre-javafx-18.30.11\n" + "java zulu-jre-javafx-18.32.11\n" + "java zulu-jre-javafx-18.32.13\n" + "java zulu-jre-javafx-19.28.81\n" + "java zulu-jre-javafx-19.30.11\n" + "java zulu-jre-javafx-19.32.15\n" + "java zulu-jre-javafx-20.28.85\n" + "java zulu-jre-javafx-20.30.11\n" + "java zulu-jre-javafx-20.32.11\n" + "java zulu-jre-javafx-20.32.11_1\n" + "java zulu-jre-javafx-21.28.85\n" + "java zulu-jre-javafx-21.30.15\n" + " \n"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html