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

如何提取字符串中{#}与{/#}之间的文本?

提取{#}与{/#}之间文本的方法

直接用正则表达式就能高效解决这个问题,核心是匹配标记对并捕获中间的内容。

核心正则规则

用{#}(.*?){/#}这个正则:

  • {#}:匹配开头的标记
  • (.*?):非贪婪捕获任意字符(?确保只匹配到最近的{/#},不会跨块提取内容)
  • {/#}:匹配结尾的标记

代码示例

Python 实现

import re

# 示例输入字符串
input_text = "示例文本{#}要提取的第一段内容{/#}无关内容{#}第二段提取内容{/#}"
# 定义正则模式
pattern = r"{#}(.*?){/#}"
# 提取所有匹配的内容
result = re.findall(pattern, input_text)
print(result)  # 输出: ['要提取的第一段内容', '第二段提取内容']

JavaScript 实现

const inputText = "示例文本{#}要提取的第一段内容{/#}无关内容{#}第二段提取内容{/#}";
const pattern = /{#}(.*?){/#}/g;
const result = [];
let match;
// 循环提取所有匹配项
while ((match = pattern.exec(inputText)) !== null) {
  result.push(match[1]);
}
console.log(result); // 输出: ['要提取的第一段内容', '第二段提取内容']

注意事项

如果你的文本中{#}和{/#}是成对且无嵌套的,这个方法完全适用;要是存在嵌套结构,正则处理会非常麻烦,这种情况建议用专门的解析器来处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:10:00