I do not quite understand what exactly you require , however i see a problem in the code ,
You are using the same model on 3 different input tags , which is not advisable.
I would suggest using something like this ,
<label>No pattern</label>
<input ng-model="ip4.test1"></input><br>
<!-- Pattern 1 -->
<label>Pattern (IP v4)</label>
<input ng-model="ip4.test2" ng-pattern="/(([2][0-5]{2}|[2][0-4]\d|[01]?\d{0,2})\.){3}([2][0-5]{2}|[2][0-4]\d|[01]?\d{0,2})/"></input><br>
<!-- Pattern 2 -->
<label>Changed pattern (IP v6)</label>
<input ng-model="ip4.test3" ng-pattern="/([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}/"></input><br>
By doing this , you can avoid the losing other input fields , plus you get the ng-pattern validation.
And in your JS file , you can use them something like this ,
$scope.ipv4 = {
test1 : <value> ,
test2 : <value>,
test3 : <value>};
And access its value like this ,
var temp = $scope.ipv4.test1;
Hope this solves your problem.