问题
I'm a noob with regex.
I have to match literally different combinations of strings. Like in the example:
"feed the cat."
"feed the dog."
"feed the bear."
but NOT
"feed the eagle."
"feed the monkey."
"feed the donkey."
I tried something like /^feed the [cat|dog|bear].$/ but it doesn't work. The cheatsheet available on the net explain a lot of complicated things, but not how I can match several strings literally...
Thank you for the help.
回答1:
You're slightly confusing some syntax. Here's the correct pattern:
^feed the (cat|dog|bear)\.$
You can also use:
^feed the (?:cat|dog|bear)\.$
if you don't need to capture the animal name.
The square brackets are used for character classes, like [a-z] which means "any lowercase letter between a and z, in ASCII".
Also, note that I escaped . with \., because . means "any character except newline" in regex.
回答2:
You can try following regex,
feed the (cat|dog|bear)
Working Demo
来源:https://stackoverflow.com/questions/29835568/regex-for-matching-literal-string-combinations