我有两个正则表达式,一个是^0|[1-9][0-9]*$,另一个是^(0|[1-9][0-9]*),第一个表达式匹配字符串"01",而后一个表达式不匹配.两个表达的区别是什么?在我看来,后者只捕获匹配的字符串.我想知道为什么后来不能匹配"01"字符串.
见图解说明
^0|[1-9][0-9]*$
Run Code Online (Sandbox Code Playgroud)

与
^(0|[1-9][0-9]*)$
Run Code Online (Sandbox Code Playgroud)

所以第二个RegEx要求字符串为"0"或以1-9字符开头.