Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Unclosed string literal error on regex string

Aberta
#1,253 1 comentário 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@jkrinke já está trabalhando nisso.

Desde 23/12/2025.

  • #1314 de @jkrinke — aberto

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
42/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
tooling

Direção de pesquisa

Comece com o reprodutor simplificado em Java na issue e execute google-java-format 1.26.0 usando o comando documentado java -jar. Rastreie como o formatador analisa literais de string que contêm barras invertidas de regex e determine por que o código-fonte válido é reportado como um literal de string não fechado. Está concluído quando o reprodutor for formatado sem esse erro.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Hello, I found this issue when updating the formatter version in googleapis/java-spanner

package com.example;

final class Test {
  // Error: unclosed string literal
  String breaks = "'\\d{2}):(\\d{2}):(\\d{2})(\\.\\d{1,9})?)([Zz]|([+-])(\\d{2}):(\\d{2})))|(READ_TIMESTAMP)[\\t";
  // Works
  String fix =    "'\\d{2}):(\\d{2}):(\\d{2})(\\.\\d{1,9})?)([Zz]|([+-])(\\d{2}):(\\d{2})))|(READ_TIMESTAMP)[\u005Ct";
}

Produces the following error:

hi on] diegomarquezp:java-spanner$ java -jar ~/.library_generation/google-java-format.jar --version 
google-java-format: Version 1.26.0
[hi on] diegomarquezp:java-spanner$ java -jar ~/.library_generation/google-java-format.jar test.java 
test.java:7:13: error: unclosed string literal
  String fix = "'((STRONG)|(MIN_READ_TIMESTAMP)[\\t ]+((\\d{4})-(\\d{2})-(\\d{2})([Tt](\\d{2}):(\\d{2}):(\\d{2})(\\.\\d{1,9})?)([Zz]|([+-])(\\d{2}):(\\d{2})))|(READ_TIMESTAMP)[\u005Ct ]+((\\d{4})-(\\d{2})-(\\d{2})([Tt](\\d{2}):(\\d{2}):(    \\d{2})(\\.\\d{1,9})?)([Zz]|([+-])(\\d{2}):(\\d{2})))|(MAX_STALENESS)[\u005Ct ]+((\\d{1,19})(s|ms|us|ns))|(EXACT_STALENESS)[\\t ]+((\\d{1,19})(s|ms|us|ns)))'";
            ^
[hi on] diegomarquezp:java-spanner$ 

Note that String fix doesn't have the error after replacing these two specific double backslashes \\ with the hexcode version \u0005C.

update: simplified reproducer code.

Linguagem predominante
Java
Estrelas
6.2k
Forks
940
Merge médio
5min
PRs com merge (30d)
8

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de google/google-java-format

Todas as issues de google/google-java-format

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.