Articles of regex

Trova tutti gli indici di pattern nella stringa in C #

Come posso trovare tutti gli indici di un pattern in una stringa usando c #? Per esempio voglio trovare tutti gli indici di pattern ## in una stringa come questa 45##78$$#56$$JK01UU

Espressione regolare per ottenere gli ultimi 3 caratteri di una stringa

Voglio scrivere un’espressione regolare che richiederà solo l’ultimo 3 caratteri di una stringa e aggiungerà una stringa costante ad essa. Sto usando C #. Sto cercando di fare espressioni regolari come voce del database. Successivamente Leggi questa voce nell’applicazione e fai la trasformazione basata sulla regex in C #. Qualcosa di simile a : stringVal.Trim().Substring(0, […]

Rimuovi il testo dopo il verificarsi di una stringa

Ho una stringa che ha il seguente formato: string sample = “A, ABC, 1, ACS,,” Come puoi vedere, ci sono 5 occorrenze del personaggio. Ho bisogno di rimuovere tutto dopo la 4a occorrenza in modo che il risultato finale sarà: string result = fx(sample, 4); “A, ABC, 1, ACS” È ansible senza un foreach ? […]

Regex scappa con \ o \\?

Qualcuno può spiegarmi quando si usano le espressioni regolari quando è necessario utilizzare una doppia barra rovesciata o una singola barra rovesciata per sfuggire a un personaggio? Un sacco di riferimenti online utilizzano un singolo backslash ei tester di regex online funzionano con singoli backslash, ma in pratica spesso devo usare una doppia barra rovesciata […]

regex ‘literal’ significato in regex

c’è un modo per trattare una sezione della tua stringa regex ‘as is’? Vale a dire, voglio corrispondere allo schema letterale: “[^ * .. @ / w $ [{” in un testo (esempio esagerato, ma vedi cosa intendo) … Posso semplicemente racchiudere l’intero bit in qualcosa?

controlla per vedere se una stringa contiene un indirizzo IP

Ho un file caricato in un lettore di stream. Il file contiene indirizzi IP sparsi in giro. Prima e dopo ogni indirizzo IP c’è “\” se questo aiuta. Inoltre, il primo “\” su ogni riga viene prima dell’indirizzo ip, non ci sono altri “\” prima di questo. So già che dovrei usare un ciclo while […]

C # Regex: accetta gli spazi in una stringa

Ho un’applicazione che necessita di alcune verifiche per alcuni campi. Uno di questi è per un cognome che può essere composto da 2 parole. Nella mia espressione regolare, devo accettare questi spazi così ho provato un sacco di cose ma non ho trovato alcuna soluzione. Ecco la mia espressione regolare: @”^[a-zA-Zàéèêçñ\s][a-zA-Zàéèêçñ-\s]+$” I \s sono normalmente […]

Le retrocessioni devono venire dopo il gruppo a cui fanno riferimento?

Durante l’esecuzione di alcuni test per questa risposta , ho notato il seguente comportamento imprevisto. Questo rimuoverà tutte le occorrenze di dopo il primo: var input = “extra”; Regex.Replace(input, @”(]+>)(?<=\1.*\1)", ""); // extra Ma questo non lo farà: Regex.Replace(input, @”(?<=\1.*)(]+>)”, “”); // extra Allo stesso modo, rimuoverà tutte le occorrenze di prima dell’ultima: Regex.Replace(input, @”(]+>)(?=.*\1)”, […]

Sostituisci più incontri Regex ciascuno con una sostituzione diversa

Ho una stringa che può o non può avere più corrispondenze per un modello designato. Ognuno deve essere sostituito. Ho questo codice: var pattern = @”\$\$\@[a-zA-Z0-9_]*\b”; var stringVariableMatches = Regex.Matches(strValue, pattern); var sb = new StringBuilder(strValue); foreach (Match stringVarMatch in stringVariableMatches) { var stringReplacment = variablesDictionary[stringVarMatch.Value]; sb.Remove(stringVarMatch.Index, stringVarMatch.Length) .Insert(stringVarMatch.Index, stringReplacment); } return sb.ToString(); Il problema […]

C’è un modo migliore per creare l’acronimo dalle lettere in C #?

Qual è il modo migliore per creare un acronimo dalle lettere maiuscole in C #? Esempio : Alfa_BetaGameDelta_Epsilon Risultato atteso : ABGDE La mia soluzione funziona, ma non è bello var classNameAbbreviationRegex = new Regex(“[AZ]+”, RegexOptions.Compiled); var matches = classNameAbbreviationRegex.Matches(enumTypeName); var letters = new string[matches.Count]; for (var i = 0; i < matches.Count; i++) { […]