HarmonyOS鸿蒙Next严苛模式下没法正常写正则表达式,以下代码会报错,我需要提取'../'的长度,获取不到: let url = '../../../member/index.html' const dirRegExp = /\.\.\//g let match

HarmonyOS鸿蒙Next严苛模式下没法正常写正则表达式,以下代码会报错,我需要提取’…/'的长度,获取不到: let url = ‘…/…/…/member/index.html’ const dirRegExp = /…//g let match

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

let url = '../../../member/index.html'
const dirRegExp = /\.\.\//g
let matchRegExp = url.match(dirRegExp)
let length = matchRegExp.length

更多关于HarmonyOS鸿蒙Next严苛模式下没法正常写正则表达式,以下代码会报错,我需要提取'../'的长度,获取不到: let url = '../../../member/index.html' const dirRegExp = /\.\.\//g let match的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可以写成如下(’'里\会被转义):

const dirRegExp1 = new RegExp('\.\./', 'g')
输出结果\.\.,\.\.,\.\.

更多关于HarmonyOS鸿蒙Next严苛模式下没法正常写正则表达式,以下代码会报错,我需要提取'../'的长度,获取不到: let url = '../../../member/index.html' const dirRegExp = /\.\.\//g let match的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next的严苛模式下,正则表达式的处理可能会受到更严格的限制。你提供的代码尝试使用正则表达式提取'../'的长度,但可能会因为严苛模式的限制而报错。具体代码如下:

let url = '../../../member/index.html';
const dirRegExp = /\.\.\//g;
let match = url.match(dirRegExp);

在严苛模式下,正则表达式的某些特性可能不被支持或行为会有所不同。你可以尝试使用字符串的split方法来提取'../'的长度,避免直接使用正则表达式:

let url = '../../../member/index.html';
let matches = url.split('../').length - 1;

这样可以直接获取到'../'出现的次数,而无需依赖正则表达式。

在HarmonyOS鸿蒙Next的严苛模式下,正则表达式的编写可能需要更加严格。你提供的代码在大多数情况下应该是有效的,但为了确保兼容性,可以尝试以下修改:

let url = '../../../member/index.html';
const dirRegExp = /\.\.\//g;
let match = url.match(dirRegExp);
if (match) {
    console.log(match.length); // 输出匹配到的'../'数量
}

这段代码会正确匹配并输出'../'的数量。如果仍然报错,请检查是否有其他环境或语法限制。

回到顶部