javascript - RegExp 等价于 array.indexOf( str )

标签 javascript regex theory

给定一个包含字符串值的变量 str,这两行代码是否等价?

A行:

if ( [ 'foo', 'bar', 'baz' ].indexOf( str ) > -1 ) {

B 行:

if ( /^foo|bar|baz$/.test( str ) ) {

最佳答案

不完全是。管道包括 ^$ 作为替代。我不太清楚 JS 正则表达式的语法,但是如果您正在寻找仅包含 foobarstrbaz,使用表达式 /^(foo|bar|baz)$/。如果您想做一些不同的事情,请告诉我,我会尽力解决它。

关于javascript - RegExp 等价于 array.indexOf( str ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283331/

相关文章:

javascript - 需要调试帮助 : Prevent backspace from navigating back

PHP: preg_match 长度限制

unit-testing - 在 10 分钟的 Grok 单元测试演讲中,你会包括哪些内容

computer-science - 如果已知问题 X(决策问题)是 NP-Complete,并证明可以简化为问题 Y,那么您能说问题 Y 是 NP-Complete 吗?

php - 为什么我看不到使用 OOP 的真正意义?

javascript - 在 Javascript 中访问远程窗口的 url

javascript - WebAPI 提取是否遵循重定向?

java - 将字符串拆分为数组字符串,名称位于第一个位置

c# - 正则表达式无法在搜索文本 c# 中保留字符

javascript - 我应该测试多远以及哪些浏览器?