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

使用EAS构建Expo Android项目时出现正则表达式无效错误求助

问题

使用eas build -p android --profile preview构建Expo应用时触发错误:无效正则表达式:Range out of order in character class。本地模拟器运行完全正常,项目未自定义正则表达式,怀疑问题来自依赖库。通过逐个删除组件排查,发现移除/icon/burger.js后可正常构建,但该组件为项目必需,其代码如下:

import * as React from "react"
import Svg, { Path } from "react-native-svg"

const Burger = () => (
  <Svg
    xmlns="http://www.w3.org/2000/svg"
    width={30}
    height={30}
    fill="white"
    className="bi bi-list"
    viewBox="0 0 16 16"
    stroke="white"
  >
    <Path
      fillRule="evenodd"
      d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"
    />
  </Svg>
)
export default Burger
解决方案

针对该SVG组件引发的EAS构建错误,可尝试以下修复方式:

  • 移除无用的className属性:React Native不支持Web标准的className属性,该属性可能被构建工具的正则解析逻辑误判。直接删除Svg标签中的className="bi bi-list"即可,此处该属性未实际生效,不影响组件功能。
  • 调整react-native-svg导入方式:将import Svg, { Path } from "react-native-svg"改为import { Svg, Path } from "react-native-svg",部分打包工具对默认导出与命名导出的处理逻辑存在差异,可规避解析异常。
  • 升级react-native-svg依赖:旧版本的react-native-svg可能与Expo EAS构建工具存在兼容性问题,执行npx expo install react-native-svg@latest升级至最新兼容版本,可解决底层正则解析bug。
  • 重新生成SVG组件:若以上方法无效,可使用Expo官方SVG转换工具将原始SVG代码重新生成React Native兼容组件,避免手动编写的属性触发解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:35:58