在我的 CLI 中,用户可以指定他们想要使用的内容: 用户命令可能如下所示:
include=name1,name2,name3
category=name1,name2
category=name1
换句话说,一个命令总是由三部分组成:
- 命令名称:可以只是
include
或category
=
:在每个命令中- 他们想要使用的名称或名称,按
,
拆分
我如何测试它以使其始终为真但在其他所有情况下为假。
我在正则表达式方面真的很糟糕,但我尝试过这样的事情:
/\category|include=\w/.test(str);
至少要简单地测试最简单的替代方案,即 category=name1
但没有成功。
有人可以帮我解决这个问题吗?
最佳答案
您走在正确的道路上。这是一个固定的正则表达式:
/^(category|include)=\w+(,\w+)*$/.test(str);
注意:
- 替代部分周围的括号
\w
之后的+
这样你就可以有多个字符- 可选的
(,\w+)*
- 字符串标记的开始和结束(
^
和$
)以便检查整个字符串
关于Javascript - 正则表达式检查用户是否写入正确的格式化输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366362/