<commit_before>package semver4j;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.util.Objects.requireNonNull;
import static semver4j.Utils.nullToBlank;
import static semver4j.Utils.requireMatches;
import static semver4j.Utils.requireNonNegative;

public final class SemVer {
  private static final Pattern groupingRegex = Pattern.compile('^'
      + "((\\d+)\\.(\\d+)\\.(\\d+))" // version string
      + "(?:\\-([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?" // prerelease suffix (optional)
      + "(?:\\+([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?" // build suffix (optional)
      + '$');

  private static final String suffixReGroup = "(?:[\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*)";

  private static final Pattern suffixRe = Pattern.compile(suffixReGroup + '?');

  public static final Pattern matchingRegex = Pattern.compile('^'
      + "\\d+\\.\\d+\\.\\d+" // version string
      + "(?:\\-" + suffixReGroup + ")?" // prerelease suffix (optional)
      + "(?:\\+" + suffixReGroup + ")?" // build suffix (optional)
      + '$');

  public final int major;
  public final int minor;
  public final int patch;
  public final String prerelease;
  public final String build;

  public SemVer(final int major, final int minor, final int patch, final String prerelease, final String build) {
    this.major = requireNonNegative(major);
    this.minor = requireNonNegative(minor);
    this.patch = requireNonNegative(patch);<commit_msg>SemVer: Make matchingRegex: Pattern private as well (WTF).<commit_after>package semver4j;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static java.util.Objects.requireNonNull;
import static semver4j.Utils.nullToBlank;
import static semver4j.Utils.requireMatches;
import static semver4j.Utils.requireNonNegative;

public final class SemVer {
  private static final Pattern groupingRegex = Pattern.compile('^'
      + "((\\d+)\\.(\\d+)\\.(\\d+))" // version string
      + "(?:\\-([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?" // prerelease suffix (optional)
      + "(?:\\+([\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*))?" // build suffix (optional)
      + '$');

  private static final String suffixReGroup = "(?:[\\dA-Za-z\\-]+(?:\\.[\\dA-Za-z\\-]+)*)";

  private static final Pattern suffixRe = Pattern.compile(suffixReGroup + '?');

  private static final Pattern matchingRegex = Pattern.compile('^'
      + "\\d+\\.\\d+\\.\\d+" // version string
      + "(?:\\-" + suffixReGroup + ")?" // prerelease suffix (optional)
      + "(?:\\+" + suffixReGroup + ")?" // build suffix (optional)
      + '$');

  public final int major;
  public final int minor;
  public final int patch;
  public final String prerelease;
  public final String build;

  public SemVer(final int major, final int minor, final int patch, final String prerelease, final String build) {
    this.major = requireNonNegative(major);
    this.minor = requireNonNegative(minor);
    this.patch = requireNonNegative(patch);
{'fraction_non_alphanumeric': 0.20181329751511082, 'fraction_numerical': 0.002686366689053056, 'mean_word_length': 3.2016925246826515, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5982484', 'n_tokens_mistral': 993, 'n_tokens_neox': 946, 'n_words': 226}