I want to allow a string which does not contain leading zeros in an interface name string,
i.e :- GigabitEther 002 --> invalid
GigabitEther 0/0/03 --> invalid
GigabitEther 0 --> valid
how it can be done using YANG pattern ?
I want to allow a string which does not contain leading zeros in an interface name string,
i.e :- GigabitEther 002 --> invalid
GigabitEther 0/0/03 --> invalid
GigabitEther 0 --> valid
how it can be done using YANG pattern ?
(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*
- repetitions of single zero or non-zero-initiated numbers separated by slashes. Is that what you are looking for?
Thanks for your response!!
Yes i was looking something like this only, added to this sub interface name will have ’ . ’ also with them. So final pattern is like this
list GigabitEthernet {
key "name";
leaf name {
type string {
pattern "(0|[1-9][0-9]*)(/(0|[1-9][0-9]*))*(.[0-9]*)?";
}
}
....
}
But even this is not rejecting the incorrect string values
interface GigabitEthernet 002 is also a pass case after this
Need Further help!!
Keep in mind that dot (".
") is a special character that matches any character, in particular including zero. So your addition should be (\\.[0-9]*)?
- this way you are saying that the dot should be interpreted literally.