gpt4 book ai didi

python - 用于验证 xsd :ID string in Python? 的正则表达式

转载 作者:行者123 更新时间:2023-12-01 05:56:34 24 4
gpt4 key购买 nike

有人可以建议一个正则表达式来验证应该符合 xsd:ID ( link ) 的字符串吗?

  • xsd:ID 类型用于唯一标识 XML 文档中元素的属性。

  • xsd:ID 值必须是 xsd:NCName。这意味着它必须以字母或下划线开头,并且只能包含字母、数字、下划线、连字符和句点。

  • xsd:ID 带有一些附加约束:

    • 它们的值在 XML 实例中必须是唯一的,无论属性的名称或其元素名称如何。

    • 复杂类型不能包含多个 xsd:ID 类型或任何派生类型的属性来自 xsd:ID。

    • xsd:ID 属性不能指定默认值或固定值。

<小时/>

我正在考虑这样的事情:

reg=re.compile('^([a-zA-Z]|_)(\d|_|-|\.)*')  
reg.match(mystring)

这看起来合适吗?

最佳答案

最简单的方法是使用两个字符类,后者带有 * 乘数:

re.compile(r'^[a-zA-Z_][\w.-]*$')

\w 已包含 [a-zA-Z0-9_]。无需在这些周围放置组,但您确实希望将表达式锚定到开头和结尾(^$),以确保验证整个字符串,而不仅仅是其中的一部分。

关于python - 用于验证 xsd :ID string in Python? 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12332146/

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