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

求问匹配中间含可选前后空格加号的两个字符串的正则表达式

匹配带加号的单引号字符串组合的正则方案

嘿,这个需求其实挺典型的,我来一步步给你讲清楚怎么实现!

核心正则表达式

直接上能解决你问题的正则:

'[^']+'\s*\+\s*'[^']+'

正则各部分拆解

我们来逐个解析每个部分的作用,这样你能理解为什么这么写:

  • '[^']+':匹配被单引号包裹的任意字符串。其中[^']是否定字符集,表示匹配除了单引号之外的任意字符,+表示至少匹配一次,这样就能精准捕获单引号里的内容,不会误匹配到跨多个单引号的情况。
  • \s*:匹配0个或多个空白字符(包括空格、制表符等),这部分就是用来兼容加号前后有没有空格的情况——不管是没有空格、只有前空格、只有后空格还是前后都有,都能匹配到。
  • \+:因为加号+在正则里是特殊元字符(表示“匹配前面的元素一次或多次”),所以我们需要用反斜杠\转义它,让正则把它当成普通的加号字符来匹配。

测试验证

这个正则可以完美匹配你给出的所有示例:

  • '字符串'+'字符串'
  • '字符串' + '字符串'
  • '字符串'+ '字符串'

扩展思路

如果之后你有更灵活的需求,比如允许双引号或者混合引号,可以调整正则:

  • 要支持双引号的话,把单引号换成双引号即可:"[^"]+"\s*\+\s*"[^"]+"
  • 如果要同时支持单双引号且前后引号一致,可以用反向引用:(['"])[^\1]+\1\s*\+\s*\1[^\1]+\1(不过这个场景相对少,你的需求里用第一个正则就足够了)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:11:03