4

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

例如,我只想匹配abc

所以,“aaacb”会通过,但“aaauccb”不会(因为u)。

我试过这样:

/[a|b|c]+/

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

4

3 回答 3

8

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

/^[abc]+$/

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

于 2012-10-24T14:54:42.307 回答
0
 /[^abc]/

是一个从 rubular 中抄袭的例子。它匹配任何单个字符,除了:a、b 或 c

于 2012-10-24T15:09:42.210 回答
-1

试试 [abc]+

它将匹配 a、b 或 c。

于 2012-10-24T15:01:48.230 回答