我正在使用 POSIX C 正则表达式。我需要一个正则表达式,它将匹配消息中的多个字段。它还必须拒绝任何与格式不匹配的消息。消息格式为:
String1|Integer1|String2|String3|Integer2|...IntegerN`
'|' 字符用作字段之间的分隔符。最后的整数是一个包含 0 个或多个项目的列表。任何字段都可以为空白(没有空格,分隔符之间没有隐藏字符)。
基本上我只想能够单独拉出字段。
到目前为止,我有:
.*|[0-9]3|.*|.*|([0-9]3|)50[\`]
为了清楚起见,我写了这个没有任何转义字符。我还添加了每个字段可以包含的项目数。而且我忘记了消息字符的结尾。