Sto scrivendo un'espressione regolare in Objective-C.Che cosa significa ? (sequenza di punti interrogativi con barra inversa) significa sequenza di escape?
La sequenza di escape \w
è illegale ed emette un avviso, pertanto l'espressione regolare /\w/
deve essere scritta come @"\\w"
; la sequenza di escape \?
è valid, apparently, e non emette un avviso, pertanto l'espressione regolare /\?/
deve essere scritta come @"\\?"
(ad esempio, la barra retroversa deve essere preceduta da escape).
I punti interrogativi non sono invisibili come \t
o \n
, quindi perché \?
una sequenza di escape valida?
Modifica: Per chiarire, non sto chiedendo del quantificatore, sto chiedendo di una sequenza di escape delle stringhe. Cioè, questo non emette un avvertimento:
NSString *valid = @"\?";
Al contrario, questo vuol emettono un avvertimento ("sequenza di escape Unknown '\ w'"):
NSString *invalid = @"\w";
Significa che stai cercando di far corrispondere (a seconda della funzione) un valore letterale '?'? – Jerry
Possibile duplicato di [Perché è "\?" una sequenza di escape in C/C++?] (http://stackoverflow.com/questions/19374878/why-is-an-escape-sequence-in-cc) (Objective-C eredita questa caratteristica da C, quindi questo è in realtà un duplicato.) –