gpt4 book ai didi

xml - 使用正则表达式查找控制字符的 XML 字符引用

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:29 26 4
gpt4 key购买 nike

我需要一些帮助来确定 XML 字符引用的正则表达式以控制十进制或十六进制字符。

这些序列如下所示:

�





换句话说,它们是一个和号,后跟一个井号,再后跟一个可选的“x”以表示十六进制模式,再后跟 1 到 4 个十进制(或十六进制)数字,再后跟一个分号。

我专门尝试识别那些包含(含)十进制 0 到 31 或十六进制 0 到 1F 的数字的序列。

谁能找出这个的正则表达式?

最佳答案

如果您使用 zero-width lookahead assertion要限制位数,您可以编写模式的其余部分而不必担心长度限制。试试这个:

&#(?=x?[0-9A-Fa-f]{1,4})0*([12]?\d|3[01]|x0*1?[0-9A-Fa-f]);

解释:

(?=x?[0-9A-Fa-f]{1,4})  #Restricts the numeric portion to at most four digits, including leading zeroes.
0* #Consumes leading zeroes if there is no x.
[12]?\d #Allows decimal numbers 0 - 29, inclusive.
3[01] #Allows decimal 30 or 31.
x0*1?[0-9A-Fa-f] #Allows hexadecimal 0 - 1F, inclusive, regardless of case or leading zeroes.

此模式允许在 x 之后使用前导零,但 (?=x?[0-9A-Fa-f]{1,4}) 部分阻止它们不会发生在 一个 x 之前。

关于xml - 使用正则表达式查找控制字符的 XML 字符引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436979/

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