从本教程中,我了解了“正则表达式 - 量词”,并基于本教程中使用的测试代码。
我对这些测试有疑问:
Enter your regex: ab*foo
Enter input string to search: xabfooxxxabbbfoox
I found the text "abfoo" starting at index 1 and ending at index 6.
I found the text "abbbfoo" starting at index 9 and ending at index 16.
但
Enter your regex: a.*foo
Enter input string to search: xabfooxxxabbbfoox
I found the text "abfooxxxabbbfoo" starting at index 1 and ending at index 16.
为什么不是这些:
I found the text "abfoo" starting at index 1 and ending at index 6.
I found the text "abbbfoo" starting at index 9 and ending at index 16.
一般来说,我注意到无论何时.*
或.+
使用:
如果有的话,只有一个匹配。
字符串的匹配部分始终是最长的部分。
那么 Matching 是如何为每一个工作的呢?