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.
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.