in reply to Re^4: regex is not producing desired output
in thread regex is not producing desired output

You didn't ask to match an "is" at the start of the string or an "is" at the end of the string. You asked to match one that is both.
>perl -le"$_='is'; s/^is$/are/g; print" are >perl -le"$_='is is is'; s/^is$/are/g; print" is is is >perl -le"$_='is is is'; s/^is|is$/are/g; print" are is are