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

正则表达式中的分隔符有什么作用?

正则表达式中分隔符的作用

核心作用:划分规则主体与修饰符

在多数正则流派里,分隔符最核心的用途是把正则的匹配规则主体和**修饰符(flags)**明确区分开。比如PCRE语法中:

/abc/i

这里的/就是分隔符,abc是你要匹配的规则,i是「忽略大小写」的修饰符。没有分隔符的话,解释器根本没法分清哪部分是规则、哪部分是修饰符。

减少转义,让正则更简洁

当你的正则规则里刚好包含了默认分隔符时,换用其他分隔符可以省去反复转义的麻烦。比如要匹配URL里的https://:

  • 用/做分隔符,必须把规则里的/转义成\/:
    /https:\/\/example\.com/
    
  • 换成~做分隔符,直接写就行,不用转义:
    ~https://example\.com~
    

Regex101里给不同流派列出多种分隔符,就是给你提供这类替代选项——只要选一个不在你的正则规则里出现的字符就行。

不同流派的分隔符差异

PCRE流派(PHP、Perl等)

/、~、@、;、%这些都是单字符分隔符,用法完全一致,只是字符不同。你甚至可以用成对的括号当分隔符(比如(abc)i),不过这种写法比较少见。

.NET流派

.NET里的分隔符本质是字符串的包裹符,因为.NET中正则通常写在字符串字面量里:

  • 用单个"包裹时,正则里的双引号要写成""来转义,比如"He said ""hello""";
  • 用""""包裹是针对多行正则的场景,能避免每行都处理双引号转义,比如:
    """
    Match "quotes" here without escaping each one
    """
    

别和“正则分割字符串”搞混

你搜索到的“用正则分隔字符串”是指把正则匹配的内容当成分割标记,拆分目标字符串(比如JS里的"a,b,c".split(/,/)),这和正则自身的分隔符完全是两码事——前者是正则的一种应用场景,后者是正则语法的组成部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 10:14:58