^([1-9] {1,2},){4} [1-9] {1,2} $和([1-9] {1,2},){4}之间有什么区别[ 1-9] {1,2}?

rob*_*iao 2 c# regex

如果我([1-9]{1,2},){4}[1-9]{1,2}用来匹配输入.
1,2,3,4,5,6,7,8,9将被匹配为有效输入.

但是,如果我在开头添加^,在结尾添加$.表达式^([1-9]{1,2},){4}[1-9]{1,2}$将按1,2,3,4,5我的意愿匹配.

我的问题是:^([1-9]{1,2},){4}[1-9]{1,2}$和之间有什么区别([1-9]{1,2},){4}[1-9]{1,2}?你知道,我只添加^$.

你能解释为什么会发生这种差异吗?

zs2*_*020 12

这是语法图 ^([1-9]{1,2},){4}[1-9]{1,2}$

^([1-9] {1,2},){4} [1-9] {1,2} $

这是语法图 ([1-9]{1,2},){4}[1-9]{1,2} ([1-9] {1,2},){4} [1-9] {1,2}

您可以看到2个正则表达式之间的区别是第一个正则表达式强制匹配Start字符串到End字符串.

使用Regexper生成图表.