solo regulares regular que probar numeros mayores letras expressions expresiones expresion especiales espacios espacio ejemplos consecutivos caracteres blanco alfanumerico regex

regex - que - probar expresiones regulares



Límite de palabras regex excluyendo el guión (2)

Necesito una expresión regular que coincida con una expresión que termina con un límite de palabra, pero que no considera el guión como un límite. es decir, obtener todas las expresiones combinadas por

type ([a-z])/b

pero no coinciden por ejemplo

type a-1

para reformular: quiero un equivalente del operador de límite de palabra / b que, en lugar de utilizar la clase de carácter de palabra [A-Za-z0-9_] , utiliza la clase extendida: [A-Za-z0-9_-]


Puedes usar un lookahead para esto, lo más corto sería usar un lookahead negativo:

type ([a-z])(?![/w-])

(?![/w-]) significaría "falla la coincidencia si el siguiente carácter está en /w o es un - ".

Aquí hay una opción que usa un lookahead normal:

type ([a-z])(?=[^/w-]|$)

Puede leer (?=[^/w-]|$) como "solo coincidir si el siguiente carácter no está en la clase de caracteres [/w-] , o este es el final de la cadena".

Véalo en funcionamiento: http://www.rubular.com/r/NHYhv72znm


Tuve un problema bastante similar, excepto que no quería considerar el ''*'' como un carácter de límite. Esto es lo que hice:

/b(?<!/*)([^/s/*]+)/b(?!*)

Básicamente, si estás en un límite de palabra, mira hacia atrás un carácter y no coincida si el carácter anterior era un ''*''. Si está en el medio, no haga coincidir en un espacio o asterisco. Si estás al final, asegúrate de que el final no sea un asterisco. En su caso, creo que podría usar / w en lugar de / s. Para mí, esto funcionó en estas situaciones:

*word wo*rd word*