正则表达式,用于匹配文字字符串组合

use*_*898 1 regex

我是正则表达式的菜鸟。

我必须匹配字面上不同的字符串组合。如示例中所示:

"feed the cat."
"feed the dog."
"feed the bear."
Run Code Online (Sandbox Code Playgroud)

但不是

"feed the eagle."
"feed the monkey."
"feed the donkey."
Run Code Online (Sandbox Code Playgroud)

我尝试了类似的方法,/^feed the [cat|dog|bear].$/但是没有用。网上提供的备忘单解释了很多复杂的事情,但并不能说明我如何从字面上匹配多个字符串...

感谢您的帮助。

Luc*_*ski 5

您有些混淆语法。这是正确的模式:

^feed the (cat|dog|bear)\.$
Run Code Online (Sandbox Code Playgroud)

您还可以使用:

^feed the (?:cat|dog|bear)\.$
Run Code Online (Sandbox Code Playgroud)

如果您不需要捕获动物名称。

方括号用于字符类,例如[a-z]表示“ ASCII中a和z之间的任何小写字母”

另外请注意,我逃.\.,因为.手段“除换行符任何字符”的正则表达式。