private def internalRegexFromCodepointSequences()

in src/scala/generator/src/main/scala/EmojiInfoGeneratedView.scala [158:178]


  private def internalRegexFromCodepointSequences(codePointSequences: Seq[Seq[Int]]) = {
    val groupedItems = groupLastItemsByPrefix(codePointSequences)
    val sortedGroupedItems = groupedItems.toSeq.sortBy {
      case (prefix, _) =>
        // Sort by longest prefix first, them alpha of the unicode string.
        (-prefix.length, CodePoints(prefix).str)
    }
    val regexParts = sortedGroupedItems map {
      case (prefix, lastItems) =>
        val joinedItems = prefix.map {
          unicodePattern(_)
        } :+ spanString(findContiguousSpans(lastItems))
        joinedItems.mkString
    }

    // Return something that is a single char or [] class,
    // or a non-capturing group of chars and [] classes "|"ed together.
    if (regexParts.isEmpty) throw new Exception("Regex cannot be empty")
    else if (regexParts.length == 1 && sortedGroupedItems.head._1.isEmpty) regexParts.head
    else regexParts.mkString("(?:", "|", ")")
  }