如何只匹配一些正则表达式的字符?

Dav*_*les 4 ruby regex

我想检查一个字符串是否只匹配一些正则表达式的字符.

例如,我想只匹配a,bc.

所以,"aaacb"会通过,但"aaauccb"不会(因为u).

我试过这种方式:

/[a|b|c]+/
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为失败的例子通过了.

Mar*_*der 8

您需要通过将正则表达式锚定到字符串的开头和结尾来确保您的字符串包含这些字符:

/^[abc]+$/
Run Code Online (Sandbox Code Playgroud)

你还混淆了两个概念.交替(将是(a|b|c))和字符类(将是[abc]).它们在这种情况下是等价的.您的版本也允许|作为角色.