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

如何编写正则表达式校验字符串首尾是否包含斜杠(/)

可用正则方案

你需要的是带首尾锚点的正则,语法如下:

允许中间内容为空(可匹配//)

/^\/.*\/$/

禁止中间内容为空(不可匹配//)

/^\/.+\/$/

规则说明

  • ^ 锚定字符串开头,确保第一个字符是斜杠
  • \/ 转义后的斜杠字符,匹配/
  • .*/.+ 匹配中间任意字符,*表示允许零个字符,+表示至少要有一个字符
  • $ 锚定字符串结尾,确保最后一个字符是斜杠

如果需要支持中间包含换行符的场景,添加s修饰符即可:/^\/.*\/$/s

使用示例(JavaScript环境)

const checkSlashWrap = (str) => /^\/.*\/$/.test(str);

console.log(checkSlashWrap("/anystring/")); // 输出 true
console.log(checkSlashWrap("/test/path/123/")); // 输出 true
console.log(checkSlashWrap("no/start/slash/")); // 输出 false
console.log(checkSlashWrap("/no/end/slash")); // 输出 false
console.log(checkSlashWrap("//")); // 输出 true,换成/^\/.+\/$/时输出false

原有正则的问题

你写的/\/(\w+)/ig/\存在以下错误:

  1. 语法错误:正则字面量末尾多了无效的/\字符,无法正常解析
  2. 缺少首尾锚点^和$,只要字符串内部出现/加单词字符就会匹配,无法限制斜杠必须在首尾
  3. 仅匹配了开头的斜杠加后面的单词字符,没有匹配结尾的斜杠,且\w+仅支持字母、数字、下划线,无法匹配带特殊字符、中文、路径分隔符的中间内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:12:02