Vorrei abbinare uno di questi caratteri: <
o >
o <=
o >=
o =
.Espressione regolare maggiore di e minore di
Questo non sembra funzionare: [/</=/>]
Vorrei abbinare uno di questi caratteri: <
o >
o <=
o >=
o =
.Espressione regolare maggiore di e minore di
Questo non sembra funzionare: [/</=/>]
Non è necessario per sfuggire uno qualsiasi di questi personaggi in classe di caratteri. Oltre a questo, è necessario utilizzare quantificatori, per abbinare più di 1 ripetizione di quei personaggi.
avete bisogno di questo:
[<>=]{1,2}
Nota quantificatore, per abbinare 2 ripetizioni, come richiesto per <=
e >=
.
Si noti inoltre che questo sarà anche corrispondere - ==
, <<
. Se si desidera far corrispondere rigorosamente solo quei 4 corde, è possibile utilizzare questa espressione regolare:
[<>]=?|=
Utilizzando ?
dopo =
rende opzionale. Quindi, la prima parte corrisponderà - <
, >
, <=
e >=
. E poi aggiungiamo =
usando la pipe.
Non sono sicuro del motivo per cui si utilizzano le barre (potrebbe avere qualcosa con coldfusion di cui non sono a conoscenza, aggiungerle se necessario) ... L'espressione regolare corrisponde attualmente a un solo carattere. Prova:
[<=>]{1,2}
Se si desidera uno regex per abbinare solo >
, <
, >=
, <=
e =
, ci sarà un po 'di più per questo. La funzione REMatch() in coldfusion restituirà tutti i risultati corrispondenti in un array, quindi è importante specificare delimitatori o limiti in un modo o nell'altro, perché è come un in python o preg_match_all
in PHP (o contrassegnare la corrispondenza globale) .
Il confine credo sia il più semplice è il \b
:
\b(?:[<>]=?|=)\b
Here's a demo with g
activated.
E senza questi limiti, here's what happens.
MODIFICA: Non si è reso conto degli spazi. Potrebbe forse essere risolto con questo?
\b\s*(?:[<>]=?|=)\s*\b
Grazie, questo funziona solo per = o <= or > = ma non funziona solo per> o
@saroll Ne sei sicuro? Dovrebbe corrispondere se combina con successo '> =' o '<=' o '=' a causa di '{1,2}'. – Jerry
grazie a @RohitJain questo funziona perfettamente [\ <=>] {1,2} aggiungendo i caratteri di escape – saroll
Prova questo:
[<>]=?|=
corrisponda <
o >
eventualmente seguita da =
, o semplicemente =
da solo.
+1 per bello e compatto. :) – zx81
Questo corrisponderà anche a '==', '<<', '= <', ecc. – Barmar
@Barmar. Si, certo.Ma che non ho preso così rigorosamente. Forse aggiornerò la risposta. –
Grazie, ma questo funziona bene, tranne che non funziona solo per < or > ma funziona per <= or > = o = – saroll