提问人:Moilleadóir 提问时间:9/8/2023 更新时间:9/8/2023 访问量:41
PCRE 与 U+202F 不匹配 窄无间断空间
PCRE not matching U+202F NARROW NO-BREAK SPACE
问:
上下文:我正在尝试使用 Sigil(epub 编辑器)替换 epub 中的一些 HTML,它可以使用 PCRE 进行搜索/替换。
我正在搜索的序列包含一个窄的不间断空间 (Unicode 0x202f)。我试过使用(文字字符)、、和。通用标记与包含常规空格的类似字符串匹配,但似乎没有与此字符匹配的字符串。
\s
\p{Zs}
\p{Space_Separator}
\p{Z}
\p{Separator}
\x{202f}
我可能在这里遗漏了一些明显的东西,但我不知道是什么。
我可以“轻松”解决这个问题(非正则表达式首先用其他令牌替换0x202f),但我想知道如何做到这一点,因为它可能会再次出现,如果这是程序的问题,最好知道我没有在做愚蠢的事情在接近开发人员之前。
答: 暂无答案
评论
\x20
\xA0
[[:space:]]
标志:preg_replace('/
\s+/u', '', “a\xE2\x80\xAFb”)。
如果它是一个 html 实体,请尝试 either 或 (在 php 中,您将使用 html_entity_decode 解码实体)。\s
 
 
\N{U+202F}
(*UTF)