正则表达式匹配问题 - HarmonyOS 鸿蒙Next

正则表达式匹配问题 - HarmonyOS 鸿蒙Next

const regex = /(?<!@(?:[@@]))([@@]([\w一-龥]+))\b(?!\\.\\w{2})\b/g;

let input = '@潇洋老师 222222 @买课4 3333333333333[大哭][害羞][大哭][大笑][微笑][鄙视][鄙视][鄙视][大笑][大笑][大笑][大笑][大笑]www.baidu.com https';

let match = regex.exec(input);

这个match匹配的结果为什么是:@潇,@买课4。而不是@潇洋老师,@买课4。有没有大佬知道下,要是正则匹配@用户名

更多关于正则表达式匹配问题 - HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

安卓上也是用这个正则来匹配用户名吗

更多关于正则表达式匹配问题 - HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


内容如下:

或者你提供下筛选用户名的规则,看看能不能重新写个正则解决呢,

在HarmonyOS鸿蒙Next中,正则表达式匹配可以通过使用@ohos.util模块中的Regex类来实现。Regex类提供了正则表达式的编译和匹配功能。你可以使用Regex类的test方法来检查字符串是否匹配给定的正则表达式,或者使用exec方法来获取匹配的结果。

例如,以下代码展示了如何使用Regex类进行正则表达式匹配:

import util from '@ohos.util';

// 定义正则表达式
const regex = new util.Regex('^[a-zA-Z]+$');

// 测试字符串是否匹配正则表达式
const testString = 'HelloWorld';
const isMatch = regex.test(testString);

console.log(\`字符串 "\${testString}" 是否匹配正则表达式: \${isMatch}\`);

// 获取匹配结果
const execResult = regex.exec(testString);
if (execResult) {
  console.log(\`匹配结果: \${execResult[0]}\`);
}

在这个例子中,正则表达式^[a-zA-Z]+$用于匹配仅包含字母的字符串。test方法返回一个布尔值,表示字符串是否匹配正则表达式。exec方法返回一个数组,包含匹配的结果。

需要注意的是,HarmonyOS鸿蒙Next中的正则表达式语法遵循ECMAScript标准,因此你可以使用常见的正则表达式语法和特性。

回到顶部