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

求助:检测含HTML ASCII字符实体的字符串及转换正则方案

检测HTML ASCII字符实体的正则表达式及转换方法

一、检测用正则表达式

你之前尝试的正则都是匹配纯ASCII字符的逻辑,和检测HTML实体完全相反。要精准匹配&#数字;格式的ASCII字符实体,用以下正则即可:

&#\d+;

如果要严格限定是ASCII范围内的实体(数字在0-127之间),可以用更严谨的版本:

&#(?:0?[0-9]|[1-9][0-9]|1[01][0-9]|12[0-7]);

测试结果完全符合你的需求:

  • Miami, Florida → 匹配(true)
  • Miami, Florida → 不匹配(false)
  • Miami Florida → 不匹配(false)
  • Miami,Florida → 不匹配(false)

二、实体转换方法

检测到实体后,要将&#数字;转为对应字符,核心逻辑是提取实体中的数字,再转成ASCII字符,以下是主流语言的实现示例:

JavaScript实现

const targetStr = "Miami, Florida";
const result = targetStr.replace(/&#(\d+);/g, (_, num) => String.fromCharCode(parseInt(num, 10)));
// 输出结果:"Miami, Florida"

Python实现

import re

target_str = "Miami, Florida"
result = re.sub(r'&#(\d+);', lambda m: chr(int(m.group(1))), target_str)
# 输出结果:"Miami, Florida"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:44:55