You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式检测字符串是否包含-0或-1?

解决正则匹配/-0和/-1的问题

嘿,刚入门正则的时候确实容易在转义字符上搞懵,我来帮你理清楚哈!

你要匹配的是/-0和/-1这两个特定字符串,问题出在正则的语法和转义方式上,我给你拆解两种正确的实现方式:

方法一:正则字面量写法(推荐)

这种写法更直观,直接用/包裹正则表达式,其中/是正则的特殊字符,需要用\转义,然后用|表示“或”的逻辑,或者用字符集简化:

写法1:明确匹配两个目标

const targetStr = "这里有/-0需要检测";
// 匹配/-0 或者 /-1
const regex = /\/-0|\/-1/;
console.log(regex.test(targetStr)); // 输出 true

写法2:用字符集简化(更简洁)

因为两个目标只有最后一位不同(0或1),可以用[01]匹配这两个数字:

const regex = /\/-[01]/;
console.log(regex.test("测试/-1内容")); // 输出 true

方法二:RegExp构造函数写法

如果用构造函数创建正则,要注意JS字符串本身的转义规则:字符串里的\需要写两次才能表示一个正则里的\,所以转义/就变成\\/:

const regex = new RegExp("\\/-0|\\/-1");
// 或者用字符集简化的版本
const regexSimple = new RegExp("\\/-[01]");

console.log(regex.test("包含/-0的文本")); // true
console.log(regexSimple.test("包含/-1的文本")); // true

你原来写法的问题

你之前写的RegExp(\/-0 /-1\).test(string)有两个关键错误:

  1. 构造函数的参数必须是字符串,你没加引号,语法直接报错;
  2. 转义的逻辑不对,构造函数里的转义需要双重反斜杠,而且没有正确使用“或”的逻辑符号|。

如果还有其他正则入门的小疑问,随时提哦!

内容的提问来源于stack exchange,提问作者Taylor Austin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:34:28