正则表达式使用'$'符号和'^'

时间:2013-03-22 17:42:49

标签: regex

请问某些机构可以解释下面表达式之间的区别吗?

[0-9]{1,3}:[0-5][0-9]

^([0-9]{1,3}:[0-5][0-9])$

我没有在正则表达式中得到^符号和$符号的确切用法。

我观察到如果我写下第二个表达式,它没有任何区别。

^([0-9]{1,3}):([0-5][0-9])$

3 个答案:

答案 0 :(得分:3)

示例解释清楚:

^     : matches the beginning of a line
$     : matches the end of a line

"^foo$" : matches "foo", but not " foo" or "xxfooyy"
"foo$"  : matches "foo",  " foo" or "xxfoo" but not "foobar"
"^foo"  : matches "foo",  "fooyy" or "foo " but not "xfoo"
"foo"   : matches "foo",  " foo" or "xxfooyy"

答案 1 :(得分:2)

^$在这里the start and end of string anchors

第二个正则表达式意味着您想要匹配整个输入。

答案 2 :(得分:2)

^ =字符串/行的开头 $ =字符串/行的结尾

所以你的第一个表达式也会匹配“FOO123:12BAR”

第二个和第三个表达式之间的区别不在于它们匹配,而是它们捕获,因为捕获组的parantheses不同。