正则表达式模式帮助限制键值对的内容

时间:2012-07-17 15:59:55

标签: regex xsd

我试图在模式中使用正则表达式模式来限制xml元素的内容,但我不能让它工作,我添加的越多,它似乎越差。

要求如下:

  • 元素字符串不能超过512个字符(这个位很容易,但为了完整性而添加)
  • 该字符串由多个键值对组成。
  • 键值对将以'^'
  • 分隔
  • 每个键值对由一个3个字符的键组成,后跟任意数量的字符。
  • 键将通过“|”
  • 与值分隔

XML的一个例子是:

<myElement>
    ABC|This is some value text for key ABC^DEF|This is some value text for key DEF^GHI|This is some value text for key GHI^JKL|This is some value text for key JKL^
</myElement>

1 个答案:

答案 0 :(得分:0)

在你说的问题中“键/值对将用'^'分隔”,但是示例显示由'^'终止的键/值对,所以我假设这是你想要的。

密钥匹配\w{3}(3个字母或数字)。

该值与[^^<]*匹配(除^以外的任何数字。)

完整的正则表达式为(\w{3}\|[^^]*\^)*