gpt4 book ai didi

javascript - 如何将 javascript regexp 中的 Euro € 符号与八进制、十六进制或 unicode 元字符匹配?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:47:38 25 4
gpt4 key购买 nike

我需要创建在正则表达式中使用的十六进制和八进制元字符的样本。我在网上找到link € 的八进制代码是 200,十六进制代码是 80 但是当我尝试将 € 与正则表达式 \200\x80< 匹配时 它不匹配 € 符号。只有 unicode 元字符 \u20AC 可以正常工作。我的代码是否有误,或者无法将欧元符号与 oct 和 hex 元字符相匹配?我以前在其他 Angular 色上没有遇到过这种问题。

var a = "200€"

console.log(a.search(/\200/g)); //-1
console.log(a.search(/\x80/g)); //-1
console.log(a.search(/\u20AC/g)); //3

最佳答案

我刚刚发现,以英镑 £为例,英镑£的unicode是00A3 或缩短的 A3 可以在 javascript 正则表达式中用作 \u00A3 {四个十六进制数字元字符}\xA3 {两个十六进制数字元字符}A3 十六进制数解析为八进制数等于 243 这意味着 \243 也作为 {三个八进制数字} 元字符匹配 £ 的问题是它的 unicode 是 20AC 这意味着它可以用作 \u20AC {四个十六进制数字元字符} ,但它不能缩短为 {两个十六进制数字},而且它不是以 00 开头。 20AC 解析为八进制等于 20254 是什么原因导致它也不能用作{三个八进制数字}

综上所述,\xdd正则元字符只能匹配两位十六进制代码表示的字符,三位八进制代码可以匹配的字符可以匹配为\ddd。所以 € U+20AC, ❤ U+2764, ☯ U+262F, ❄ U+2744 和数千其他字符只能与 javascript 中的 \udddd 元字符匹配。

关于javascript - 如何将 javascript regexp 中的 Euro € 符号与八进制、十六进制或 unicode 元字符匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42544353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com