.-/^/ should match the start of the current line. It does not. Instead, it matches .. ^ incorrectly matches the start of the input. Reverse matches scan forward for the last match, and return the empty string just before . if all previous matches are empty. When scanning forward, each match will be the empty string at the start of the input, ending with the empty string before ..
.-/$/ should match the end of the previous line. It does not. Instead, it matches .. $ incorrectly matches the end of the input. Reverse matches scan forward for the last match. The last match of $ is the end of input.
.+/^/ should match the start of the next line. It does not. Instead, it matches .. ^ incorrectly matches the start of the input.
.-/^/should match the start of the current line. It does not. Instead, it matches..^incorrectly matches the start of the input. Reverse matches scan forward for the last match, and return the empty string just before.if all previous matches are empty. When scanning forward, each match will be the empty string at the start of the input, ending with the empty string before...-/$/should match the end of the previous line. It does not. Instead, it matches..$incorrectly matches the end of the input. Reverse matches scan forward for the last match. The last match of$is the end of input..+/^/should match the start of the next line. It does not. Instead, it matches..^incorrectly matches the start of the input.