我正在尝试找到一种方法,可以查找XML中的所有无效字符。
根据W3建议,以下是XML中有效的字符:
从上面的例子中,我希望我的正则表达式能够找到
我无法构建这个正则表达式。
我为数字范围制作的正则表达式:
这些正则表达式单独使用时有效,但我无法构建完整的正则表达式。
除了正则表达式之外,还有其他方法可以查找无效字符吗?如果没有,请帮我构建一个可以在我的XML中查找无效字符的正则表达式。
#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
将其转换为十进制:
9
10
13
32-55295
57344-65533
65536-1114111
这些是有效的XML字符。
我正在尝试使用适当的正则表达式在Notepad++中搜索无效字符。
我的XML代码片段:
<custom-attribute attribute-id="isContendFeed">fal  se</custom-attribute>
<custom-attribute attribute-id="pageNoFollow">fal  se</custom-attribute>
<custom-attribute attribute-id="pageNoIndex">fal se</custom-attribute>
<custom-attribute attribute-id="rrRecommendable">false</custom-attribute>
从上面的例子中,我希望我的正则表达式能够找到

和
,因为在XML中这些是不允许的。我无法构建这个正则表达式。
我为数字范围制作的正则表达式:
32-55295 : (3[2-9]|[4-9][0-9]|[1-9][0-9]{2,3}|[1-4][0-9]{4}|5[0-4][0-9]{3}|55[01][0-9]{2}|552[0-8][0-9]|5529[0-5])
57344-65533 : (5734[4-9]|573[5-9][0-9]|57[4-9][0-9]{2}|5[89][0-9]{3}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-3])
65536-1114111 : (6(5(5(3[6-9]|[4-9][0-9])|[6-9][0-9]{2})|[6-9][0-9]{3})|[7-9][0-9]{4}|[1-9][0-9]{5}|1(0[0-9]{5}|1(0[0-9]{4}|1([0-3][0-9]{3}|4(0[0-9]{2}|1(0[0-9]|1[01])))))))
这些正则表达式单独使用时有效,但我无法构建完整的正则表达式。
除了正则表达式之外,还有其他方法可以查找无效字符吗?如果没有,请帮我构建一个可以在我的XML中查找无效字符的正则表达式。
xmllint
。 - guido1-8
、11,12
、14-31
、55296-57343
、65534,65535
,以及任何大于 1114111 的数字吗? - Nader Hisham