XML模式中正则表达式的取代非捕获群?

2024-04-26 05:47:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对我的第一个自定义XML模式进行linting处理,lxml捕捉到了表示元组的表达式,如“10.1,-900”:

<xs:simpleType name="pair_dec">
    <xs:restriction base="xs:string">
        <xs:pattern value="-?\d+(?:.\d+),-?\d+(?:.\d+)"/>
    </xs:restriction>
</xs:simpleType>

我读到这是因为不支持非捕获组。这是对的吗?有什么办法吗?在


Tags: namebasestring表达式模式xmllxmldec
1条回答
网友
1楼 · 发布于 2024-04-26 05:47:24

请注意,在XSD regex flavor中:

  • 不支持非捕获组,但可以替换为捕获组
  • \d和所有其他速记字符类都支持Unicode,因此使用[0-9]而不是{}更安全
  • 必须对点进行转义以匹配文本点

使用

<xs:pattern value="-?[0-9]+(\.[0-9]+)?,-?[0-9]+(\.[0-9]+)?"/>

相关问题 更多 >