正则表达式匹配字符串条件

时间:2013-05-21 09:28:42

标签: regex

由于我不太擅长正则表达式,我如何匹配字符串StaticString_1number:1number:more than 1number中的某些条件。

示例:

string_3:0:12344555 - Match 
string_s:0:12344555 - No match 
string_3:s:12344555 - No match 
string_3:0:123s4555 - No match

感谢。

5 个答案:

答案 0 :(得分:2)

这个正则表达式可以解决你的问题:

^[a-zA-Z]+_[\d]{1}:[\d]{1}:[\d]+$

您可以查看此链接进行验证:http://regexr.com?34uj5

答案 1 :(得分:1)

这应该符合您的需求:

^[^_]+_\d:\d:\d+$

Demo

答案 2 :(得分:1)

如果我正确理解您的模式StaticString_1number:1number:more than 1number,那么您的正则表达式与这些字符串匹配可能如下所示:

'^[a-zA-Z]+_[0-9]:[0-9]:[0-9]+$'

或者您的环境支持角色类:

'^\w+_\d:\d:\d+$'

答案 3 :(得分:0)

如果初始String只能包含字符a-z,则以下内容应该有效:

[a-z A-Z]+_\d:\d:\d+

这将匹配任意数量的字母直至下划线,然后查找冒号前后的单个数字和第二个冒号后的多个数字。

但你真的应该尝试自己。如果在python中你可以尝试re-try或在javascript regexpal中尝试你的正则表达式模式。

答案 4 :(得分:0)

这可能会有所帮助:^ [a-zA-Z] * _ [0-9]:[0-9]:[0-9] * $