Sto provando a scrivere un'espressione regolare per ottenere il cognome di una persona.Espressione regolare di Google Apps Script per ottenere il cognome di una persona
var name = "My Name";
var regExp = new RegExp("\s[a-z]||[A-Z]*");
var lastName = regExp(name);
Logger.log(lastName);
Se ho capito bene \s
dovrebbe trovare lo spazio vuoto tra My
e Name
, [a-z]||[A-Z]
otterrebbe la lettera successiva, poi *
otterrebbe il resto. Gradirei un consiglio se qualcuno potesse dare una mano.
Grazie per le alternative. Molto utile. Solo una breve domanda sulla regex. Se capisco bene: () parentesi significa valutare questo primo ?: Significa non registrare nella regex \ s è lo spazio bianco Qual è lo scopo del extra "\"? – user1682683
Il '()' in '([a-z] +)' è in realtà per [raggruppamento] (http://www.regular-expressions.info/brackets.html). Ci consente di utilizzare nuovamente quella parte abbinata in seguito. '(? :)' (il '()' è obbligatorio qui) significa il contrario, non includere questo gruppo, quindi usa semplicemente '()' come regolare '()', utile per applicare gli operatori a più espressioni (come in '(\ s \ w) +', '(\ s \ w)' sarebbe un gruppo. In '(?: \ s \ w) +' non lo è.). L'extra '\' è necessario perché la tua regex è stata dichiarata usando il costruttore 'RegExp', e ottiene una stringa come parametro. Quindi la necessità di sfuggire '\' come '\\'. Fammi sapere se è chiaro! – acdcjunior