Buscar ‘palabra’ no seguida por ‘@’

¿Cuál es la expresión regular para buscar cadena de word que no va seguida del símbolo @ ?

Por ejemplo:

 mywordLLD OK myword.dff OK myword@ld Exclude 

El (?!@) negativo anticipado es necesario aquí:

 word(?!@) 

Ver demostración

Esta expresión regular coincide con la subcadena de word y (?!@) asegura de que no haya @ justo después de ella, y si está allí, la word no se devuelve como una coincidencia (es decir, la coincidencia falla ).

Desde Regular-expressions.info :

La búsqueda negativa es indispensable si desea hacer coincidir algo que no se sigue con otra cosa. Al explicar las clases de caracteres , este tutorial explica por qué no se puede usar una clase de caracteres negada para hacer coincidir una q no seguida por una u . Negative lookahead proporciona la solución: q(?!u) . El constructo de búsqueda anticipada negativa es el par de paréntesis, con el paréntesis de apertura seguido de un signo de interrogación y un signo de exclamación .

Y en la página de clases de personaje :

Es importante recordar que una clase de carácter negada debe coincidir con un personaje. q[^u] no significa: “un q no seguido de un u “. Significa: “un q seguido de un personaje que no es un u “. No coincide con la q en la cadena Iraq . Coincide con la q el espacio después de q en Iraq es un país. De hecho: el espacio se convierte en parte de la coincidencia general, porque es el “carácter que no es un” que se corresponde con la clase de carácter negada en la expresión regular anterior. Si desea que la expresión regular haga coincidir la q , y solo la q , en ambas cadenas, debe usar la función de búsqueda anticipada negativa : q(?!u) .