作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道一个正则表达式来匹配埃及象形文字。我完全一无所知,需要你的帮助。
我无法发布这些字母,因为堆栈溢出似乎无法识别它。
谁能告诉我这些字符的 unicode 范围。
最佳答案
TLDNR:\p{Egyptian_象形文字}
Egyptian_Hieroglyphs属于“星体”平面,使用超过 16 位来编码字符。从 ES5 开始,Javascript 不支持星体平面 ( more on that ),因此您必须使用代理对。第一个代理是
U+13000 = d80c dc00
最后一个是
U+1342E = d80d dc2e
这给出了
re = /(\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E])+/g
t = document.getElementById("pyramid").innerHTML
document.write("<h1>Found</h1>" + t.match(re))
<div id="pyramid">
some 𓀀 really 𓀁 old 𓐬 stuff 𓐭 𓐮
</div>
这就是 Noto Sans Egyptian Hieroglyphs 的样子安装:
在支持 UCS-4 的平台上,您可以直接使用埃及代码点 13000
到 1342F
,但语法因系统而异。例如,在Python(3.3以上)中,它将是[\U00013000-\U0001342E]
:
>>> s = "some \U+13000 really \U+13001 old \U+1342C stuff \U+1342D \U+1342E"
>>> s
'some 𓀀 really 𓀁 old 𓐬 stuff 𓐭 𓐮'
>>> import re
>>> re.findall('[\U00013000-\U0001342E]', s)
['𓀀', '𓀁', '𓐬', '𓐭', '𓐮']
最后,如果您的正则表达式引擎支持 unicode 属性,您可以(并且应该)使用这些属性而不是硬编码范围。例如在 php/pcre 中:
$str = " some 𓀀 really 𓀁 old 𓐬 stuff 𓐭 𓐮";
preg_match_all('~\p{Egyptian_Hieroglyphs}~u', $str, $m);
print_r($m);
打印
[0] => Array
(
[0] => 𓀀
[1] => 𓀁
[2] => 𓐬
[3] => 𓐭
[4] => 𓐮
)
关于正则表达式匹配埃及象形文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28896329/
这是我的象形文字代码。我希望它像 John = * * * * *为什么输出中有“None”? print("Pictograph") def J(a): for i in range(1,
我是一名优秀的程序员,十分优秀!