Aquí hay una oración de ejemplo:
क्या आप क्लोज़अप करते हैं Quiero extraer la primera palabra क्या de esta oración usando Regex. Puedo hacerlo en inglés usando (^\w+) pero eso no funciona con otros alfabetos.
¿Cómo debo proceder?
Puede agregar la bandera u para compatibilidad con Unicode. De esa manera, puede especificar patrones que incluyan propiedades de caracteres, como \p{N} para números en cualquier idioma (árabe, chino, ...).
const str = 'क्या आप क्लोज़अप करते हैं '; console.log('Letters and accent marks: ' + str.match(/^[\p{L}\p{M}]+/u)) console.log('Anything but space: ' + str.match(/^[^\p{Zs}]+/u))Resultado:
Letters and accent marks: क्या Anything but space: क्याExplicación:
^ para anclar al principio[\p{L}\p{M}]+ - una o más letras y acentos[^\p{Zs}]+ - cualquier cosa que no sea un espacio (incluye todos los espacios Unicode)u habilita Unicode para que pueda usar \p{...} patrones UnicodeVer detalles en https://javascript.info/regexp-unicode
Puede usar esta expresión regular para extraer la primera palabra
^[\pL]+Intenta seguir la expresión regular
[^\x00-\x7F]+