ho cercato attraverso così e anche se la questione è stata risolta in uno scenario:Regex per abbinare un modello, ma esclude un insieme di parole
Regex to match all words except a given list
Non è proprio quello che sto cercando . Sto cercando di scrivere un'espressione regolare che corrisponda a qualsiasi stringa della forma [\ w] + [(], ma che non corrisponde alle tre stringhe "cat (", "dog (" e "sheep" specificatamente
ho giocato con lookahead e lookbehind, ma non riesco a raggiungerlo. I può essere overcomplicating questo, in modo che qualsiasi aiuto sarebbe molto apprezzato.
Il secondo è molto probabilmente efficiente poiché non controlla ogni singola posizione con un look-out negativo (vale la pena notare che sono negativi). Inoltre, penso che potrebbe essere meglio mettere il negativo guardare indietro dopo la parentesi e includere una parentesi nel look-behind. In questo modo, eseguirà un lookback aggiuntivo solo quando troverà una possibile corrispondenza, anziché per ogni parola nella stringa. – Blixt
@Blixt: buon punto. – Gumbo
Inoltre, la prima espressione regolare rifiuterà 'catastrofe (', 'dogmatic (' e 'sheepily ('. Il tuo secondo è stato salvato da un errore simile da '\ b' nel look-behind. – rampion