“+”在 TTML timeExpression 的 W3C 语法表示中意味着什么?
What does '+' mean in W3C syntax representation for TTML timeExpression?
我想了解 TTML 中 timeExpressions 的有效格式。 This section of the specification 描述语法。这是摘录:
<timeExpression>
: clock-time
| offset-time
clock-time
: hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
offset-time
: time-count fraction? metric
hours
: <digit> <digit>
| <digit> <digit> <digit>+
-- ✂ --
我对文档的命名在某种程度上很熟悉,例如我明白了:
|
表示或
(
...)
组
?
表示可选
但是 +
是什么意思?
我假设它的意思是 'one or more',就像它在正则表达式中所做的那样,但是,如果是这样的话,为什么规范会这样写:
hours
: <digit> <digit>
| <digit> <digit> <digit>+
而不是简单地:
hours
: <digit> <digit>+
文档指出:
The allowed content of the information item is shown as a grammar fragment, using the Kleene operators ?, * and +.
在该语法中 +
确实表示一个或多个。
由于 hours
需要对 < 10 的值进行零填充,也许这两个定义旨在说明这一点。
+ 表示可能存在一个或多个片段。区分 2 位数字小时和 3 位或更多数字小时组件的原因是我认为暗示在某些时基中,小时数只能是 2 位数字,而在其他时基中它们可以更多。在任何一种情况下,最小位数都是 2。我同意仅显示 <digit> <digit>+
将有效地表示相同的意思,但它不会带有有时最大位数为 2 的微妙含义。
“2 位或更多数字”条目没有说明 <digit> <digit> | <digit> <digit> <digit>*
的原因是当出现 2 位数字时,两者将无法区分。据我所知,这是一个很好的选择。
我想了解 TTML 中 timeExpressions 的有效格式。 This section of the specification 描述语法。这是摘录:
<timeExpression>
: clock-time
| offset-time
clock-time
: hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
offset-time
: time-count fraction? metric
hours
: <digit> <digit>
| <digit> <digit> <digit>+
-- ✂ --
我对文档的命名在某种程度上很熟悉,例如我明白了:
|
表示或(
...)
组?
表示可选
但是 +
是什么意思?
我假设它的意思是 'one or more',就像它在正则表达式中所做的那样,但是,如果是这样的话,为什么规范会这样写:
hours
: <digit> <digit>
| <digit> <digit> <digit>+
而不是简单地:
hours
: <digit> <digit>+
文档指出:
The allowed content of the information item is shown as a grammar fragment, using the Kleene operators ?, * and +.
在该语法中 +
确实表示一个或多个。
由于 hours
需要对 < 10 的值进行零填充,也许这两个定义旨在说明这一点。
+ 表示可能存在一个或多个片段。区分 2 位数字小时和 3 位或更多数字小时组件的原因是我认为暗示在某些时基中,小时数只能是 2 位数字,而在其他时基中它们可以更多。在任何一种情况下,最小位数都是 2。我同意仅显示 <digit> <digit>+
将有效地表示相同的意思,但它不会带有有时最大位数为 2 的微妙含义。
“2 位或更多数字”条目没有说明 <digit> <digit> | <digit> <digit> <digit>*
的原因是当出现 2 位数字时,两者将无法区分。据我所知,这是一个很好的选择。