在我的CLI中,用户可以指定他们想要使用的内容: 用户命令可能如下所示:
include=name1,name2,name3
category=name1,name2
category=name1
换句话说,命令总是由3部分组成:
include
或category
=
:在每个命令中,
我如何测试这个以使其始终为真,但对其他所有内容都是假的。
我在正则表达式中非常糟糕,但我尝试过这样的事情:
/\category|include=\w/.test(str);
简单地测试,至少是最简单的替代方案category=name1
,但没有成功。
有人可以帮我这个吗?
答案 0 :(得分:3)
你是在正确的道路上。这是一个固定的正则表达式:
/^(category|include)=\w+(,\w+)*$/.test(str);
注意:
+
之后的\w
,以便您可以拥有多个字符(,\w+)*
^
和$
)以检查整个字符串答案 1 :(得分:2)
您可以使用此正则表达式进行重新处理:
/^(category|include)=(\w+(?:,\w+)*)$/
\w+(?:,\w+)*)
之后的值部分中的 =
将允许一个或多个以逗号分隔的单词。