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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

正则表达式:

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

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

HarmonyOS
2024-12-25 12:09:22
487浏览
收藏 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);
      })
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

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

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

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

分享
微博
QQ
微信
回复
2024-12-25 13:37:46
相关问题
HarmonyOS 正则表达式匹配不到
590浏览 • 1回复 待解决
HarmonyOS 正则匹配want如何正确填写host
1080浏览 • 1回复 待解决
HarmonyOS ArkTS不支持正则匹配吗?
779浏览 • 1回复 待解决
HarmonyOS URL特殊字符编码
1693浏览 • 1回复 待解决
HarmonyOS json解析特殊字符
691浏览 • 1回复 待解决
mysql正则表达式匹配数字
2617浏览 • 1回复 待解决
HarmonyOS Text组件显示特殊字符
664浏览 • 1回复 待解决
HarmonyOS 支持对字符串的正则处理么
518浏览 • 1回复 待解决
HarmonyOS 正则问题
470浏览 • 1回复 待解决