regex - Regular expression exclude one word -
i want write regular expression find strings looks "animals.* " on '*' place can symbols, not 'elephant'.
result should be:
input: animals.fox => result: animals.fox
input: animals.kitten => result: animals.kitten
but
input: animals.elephant => result: none
i write regular expression, not work properly. how fix it?
animals\.(?!elephant)
it seems problem matching word after .. lookahead used zero-width assertion not put matched chars output, checks if text right of current location not match pattern. if matches, match failed. else, returns true. so, need consume word after ..
add [a-za-z]+ or \w+ @ end of pattern (depending on need match, letters or letter/digits/underscore):
animals\.(?!elephant)\w+ see regex demo
Comments
Post a Comment