HarmonyOS 正则特殊字符转义无法匹配

DevEco Studio NEXT Developer Beta1
Build #DS-233.14475.28.36.503403
Build Version: 5.0.3.403, built on June 20, 2024
Runtime version: 17.0.10+1-b1087.17 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 16
Registry:
  idea.plugins.compatible.build=IC-233.14475.28
Non-Bundled Plugins:
  net.vektah.codeglance2 (1.5.5)

正则表达式:

static readonly SPECIAL_CHARACTER="[`~!@#$%^&*()+=|{}:;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】《》‘;:”“’。,、?]"

我想匹配输入字符中是否包含特殊字符,其中[]这俩特殊字符无法判断出来,

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

在正则表达式中想要匹配 [ 和 ] 需要用 双斜杠\ \ 双重转义,例如下面demo中,[是可以判断出来的

@Entry
@Component
struct Example {
  build() {
    Column(){
      Button('Ok').onClick(()=>{
        const reg = new RegExp('\\[');
        const str: string = '[';
        let result = reg.exec(str);
        console.log('正则匹配:' + result);
      })
    }
  }
}

也可以将特殊字符排除在外

const reg = new RegExp('^[\u4e00-\u9fa50-9A-Za-z]*$'); 

其中 \u4e00-\u9fa5标识汉字,0-9标识数字,A-Za-z标识大写小字母

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 正则匹配want如何正确填写host
153浏览 • 1回复 待解决
HarmonyOS URL特殊字符编码
772浏览 • 1回复 待解决
HarmonyOS json解析特殊字符
26浏览 • 1回复 待解决
mysql正则表达式匹配数字
2066浏览 • 1回复 待解决
HarmonyOS 支持对字符串的正则处理么
34浏览 • 1回复 待解决
HarmonyOS 正则问题
36浏览 • 1回复 待解决
HarmonyOS 正则表达式执行有问题
6浏览 • 0回复 待解决
emoji字符无法进行截取
886浏览 • 1回复 待解决