Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

257
Views
React Native: ¿Por qué un patrón válido de expresiones regulares de Javascript no funciona en Android?

Aquí hay una expresión regular:

 const pattern = /\d+\s*\.\s*((.+?\n)+?(?=[aA]\)))/; const str = `8. X-XIII asrlarda barpo etilgan inshootlar to'g'ri berilgan qatorni aniqlang. 1) Ismoil Somoniy maqbarasi, 2) Masjidi Kalon, 3) Namozgoh, 4) Minorayi Kalon, 5) Vobkent minorasi, 6) Ahmad Yassaviy maqbarasi, 7) Jarqo'rg'on minorasi, 8) Kaltaminor. A) 1, 2, 3, 6, 7 B) 1, 3, 4, 5, 7 C) 1, 2, 4, 6, 8 D) 2, 3, 4, 6, 7` const m = pattern.exec(str); console.log(m) // outputs null when run on Android

Aquí está exactamente lo mismo ejecutándose en una consola de navegador:

 const pattern = /\d+\s*\.\s*((.+?\n)+?(?=[aA]\)))/; const str = `8. X-XIII asrlarda barpo etilgan inshootlar to'g'ri berilgan qatorni aniqlang. 1) Ismoil Somoniy maqbarasi, 2) Masjidi Kalon, 3) Namozgoh, 4) Minorayi Kalon, 5) Vobkent minorasi, 6) Ahmad Yassaviy maqbarasi, 7) Jarqo'rg'on minorasi, 8) Kaltaminor. A) 1, 2, 3, 6, 7 B) 1, 3, 4, 5, 7 C) 1, 2, 4, 6, 8 D) 2, 3, 4, 6, 7` const m = pattern.exec(str); console.log(m)

Supongo que reaccionar nativo no puede compilar mi patrón de javascript en código nativo. ¿Qué me estoy perdiendo?

entorno de desarrollo

  • Android 10 Q API 29
  • Windows 10 Pro
  • aplicación nativa de reacción gestionada por la exposición
  • exposición: 4.13.0
  • reaccionar nativo: 0.64.3
about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Parece que los finales de línea en el entorno de destino son CRLF.

En un sabor de expresiones regulares de ECMAScript, un . por defecto no coincide con los símbolos de retorno de carro. Entonces, \n no es suficiente para hacer coincidir un salto de línea.

Hay varias formas de solucionar este problema. Puede modificar su expresión regular actual para asegurarse de que coincida con los finales de línea CRLF/LF/CR:

 /\d+\s*\.\s*((?:.+(?:\r\n?|\n))*?(?=[aA]\)))/

Vea esta demostración de expresiones regulares . Aquí, (?:\r\n?|\n) coincide con CR y una secuencia de caracteres LF opcional, o un solo carácter LF.

O bien, puede hacer coincidir cero o más caracteres:

 /\d+\s*\.\s*([\w\W]*?)(?=[aA]\))/

Vea esta demostración de expresiones regulares .

Tenga en cuenta que reemplacé el +? con *? , por si acaso puede haber valores vacíos entre el número con un punto y a) . El [\w\W]*? es una solución común para hacer coincidir cero o más caracteres.

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!