HarmonyOS 鸿蒙Next 严苛模式下没法正常写正则表达式

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 严苛模式下没法正常写正则表达式

严苛模式下没法正常写正则表达式,以下代码会报错,我需要提取’…/'的长度,获取不到:

let url = ‘…/…/…/member/index.html’ const dirRegExp = /…//g

let matchRegExp = url.match(dirRegExp)

let length = matchRegExp.length

3 回复
可以写成如下(''里\会被转义): const dirRegExp1 =new RegExp('\\.\\.\\/', 'g') 输出结果../,../,../
@Entry
@Component
struct HitTestBehaviorExample {
  build() {
    // outer stack
    Stack() {
       Button('测试').onClick(()=>{
         let url = '../../../member/index.html';
         const dirRegExp = /\.\.\//g;

         // 使用 match 方法并检查结果
         let matches = url.match(dirRegExp);

         // 检查 matches 是否存在并且是一个非空数组
         if (matches && matches.length > 0) {
           // 获取第一个匹配项
           let matchRegExp = matches[0];
           let length = matchRegExp.length; // 这里应该得到2

           console.log(`匹配到的 '../' 长度为: ${length}`);
         } else {
           console.log("没有找到匹配项");
         }
       })

    }
  }
}

针对HarmonyOS 鸿蒙Next严苛模式下没法正常写正则表达式的问题,这可能是由于严苛模式对代码规范性要求更高,导致一些在普通模式下可以正常使用的正则表达式写法在严苛模式下出现问题。

在HarmonyOS鸿蒙Next系统中,设置和使用正则表达式来过滤字符串,通常可以通过编程语言中的正则表达式库来实现。请确保正则表达式的语法正确,并且符合HarmonyOS的规范。例如,在JavaScript中,可以使用RegExp对象来创建和测试正则表达式;在Java中,可以使用java.util.regex包中的Pattern和Matcher类。

如果问题依旧存在,可能是正则表达式的具体写法与HarmonyOS的某些规则冲突,或者严苛模式对正则表达式的支持存在限制。建议仔细检查正则表达式的写法,并查阅HarmonyOS的官方文档以获取更多关于正则表达式在严苛模式下的使用规则。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部