很抱歉提出这个愚蠢的问题,但我只是想确保我做对了。
之间有什么区别
^Sentence.*$
和
^Sentence.*
我通常使用第一个,但我想确定哪个更合适。
答案 0 :(得分:1)
这取决于上下文(即字符串)。
$
默认表示:字符串的结尾
量词,如*
,默认是贪婪的。
如果字符串不包含换行符,则两个模式完全相同。 (从某种意义上说,它们将完全匹配相同的字符串)
但是如果你的字符串包含换行符,则.*
将在它之前停止,因为默认情况下,点与换行符不匹配。因此第一个模式将始终失败,第二个模式将仅匹配第一行(如果它显然以“Sentence”开头)
答案 1 :(得分:0)
来自RegExBuddy ;;
^ "Assert position at the beginning of a line (at beginning of the string or before a line break character)"
. "Match any single character that is not a line break character"
* "Between zero and unlimited times, as many times as possible, giving back as needed (greedy)"
$ "Assert position at the end of a line (at the end of the string or before a line break character)"
HTH。