我需要验证并输入字符串客户端。
以下是字符串的示例:
1:30-1:34, 1:20-1:22, 1:30-1:37,
这基本上是视频的时间码。
这可以用正则表达式完成吗?
把头靠在墙上......
答案 0 :(得分:2)
^(?:\b\d+:\d+-\d+:\d+\b(?:, )?)+$
可能会奏效;至少它符合你的例子。但是你可能需要添加一些边缘情况来使匹配/不匹配的规则更清晰。
^ # Start of string
(?: # Try to match...
\b # start of a "word" (in this case, number)
\d+ # one or more digits
: # a :
\d+ # one or more digits
- # a dash
\d+ # one or more digits
: # a :
\d+ # one or more digits
\b # end of a "word"
(?:, )? # optional comma and space
)+ # repeat one or more times
$ # until the end of the string
答案 1 :(得分:0)
以下是一个简单的表示。我假设字符串具有与您显示的完全相同的形式。这可能是一个很好的起点。如果你提供更具体的要求,我会改进正则表达式。
([0-9] +:[0-9] {1,2} - [0-9] +:[0-9] {1,2},\ W *)+
解释(灵感来自Tim上面)
[0-9] +#一个或多个数字
:#A冒号
[0-9] {1,2} #A单个数字或一对数字
- #A破折号 ,#逗号
\ w * #Optional whitespace