Python Regex To Match Words Not Having Dot
Solution 1:
You are looking for "^\w+\.flower$".
Solution 2:
Is this sufficient?
^\w+\.\w+$
Solution 3:
Here is the regex for you. ^([^\.]*)\.flower$.
Example: https://regex101.com/r/cSL445/1.
Solution 4:
Your case of pink.blue.flower is unclear. There are 2 possibilities:
- Match only
blue(cut off preceding dot and what was before). - Reject this case altogether (you want to match a word preceding
.floweronly if it is not preceded with a dot).
In the first case accept other answers.
But if you want the second solution, use: \b(?<!\.)[a-z]+(?=\.flower).
Description:
\b- Start from a word boundary (but it allows the "after a dot" case).(?<!\.)- Negative lookbehind - exclude the "after a dot" case.[a-z]+- Match a sequence of letters.(?=\.flower)- Positive lookahead for.flower.
I assumed that you have only lower case letters, but if it is not the case,
then add i (case insensitive) option.
Another remark: Other answers include \w, which matches also digits and
_ or even [^\.] - any char other than a dot (including e.g. \n).
Are you happy with that? If you aren't, change to [a-z] (again, maybe
with i option).
Solution 5:
To match any character except a newline or a dot you could use a negated character class[^.\r\n]+ and repeat that one or more times and use anchors to assert the start ^ and the end $ of the line.
Or you could specify in a character class which characters you would allow to match followed by a dot \. and flower.
Post a Comment for "Python Regex To Match Words Not Having Dot"