es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Regex fallando con caracteres árabes

Estoy intentando cubrir todos los caracteres árabes con representaciones de caracteres árabes Unicode.

Pero esto no está seleccionando algunos caracteres de esta palabra.

مشروع – 1137 انشاء انبوب ترانسكو الجديد 1300 ملم في ساس النخل

Solo está capturando la primera letra solamente.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El patrón regex /^[\u0621-\u064A\u0660-\u0669a-zA-Z0-9-_.():&,'' ]+$/ cubre todos los caracteres dentro del rango de caracteres Unicode árabes (0621-064A y 0660-0669), así como algunos otros caracteres como alfanuméricos, guiones, puntos, guiones bajos, paréntesis, ampersand, coma, apóstrofe y espacio.

    Sin embargo, en el texto de ejemplo dado “مشروع – 1137 انشاء انبوب ترانسكو الجديد 1300 ملم في ساس النخل”, la palabra “مشروع” tiene un carácter no árabe “-” (guión) inmediatamente después. Como resultado, el patrón regex solo captura la primera letra de la palabra árabe “مشروع”.

    Para solucionar este problema y capturar todos los caracteres en la oración de ejemplo dada, el guión también debería incluirse en el patrón regex. Esto se puede hacer modificando el patrón a:

    /^[\u0621-\u064A\u0660-\u0669a-zA-Z0-9-_.():&,'’ ]+$/

    Este patrón incluye el carácter del guión, así como el carácter de apóstrofe (comilla simple), que también podría estar presente en el texto árabe.

Comments are closed.