impl xpath regex text bmpattern pattern shifttable ignorecase bmpattern pat ignorecase pat ignorecase bmpattern pat tablesize ignorecase this.pattern pat.tochararray this.shifttable tablesize this.ignorecase ignorecase length pattern.length this.shifttable.length this.shifttable length length ch this.pattern diff length-i-1 index ch this.shifttable.length diff this.shifttable index this.shifttable index diff this.ignorecase ch character.touppercase ch index ch this.shifttable.length diff this.shifttable index this.shifttable index diff ch character.tolowercase ch index ch this.shifttable.length diff this.shifttable index this.shifttable index diff matches iterator start limit this.ignorecase this.matchesignorecase iterator start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch iterator.setindex index this.pattern pindex pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex matches str start limit this.ignorecase this.matchesignorecase str start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch str.charat index this.pattern pindex pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex matches chars start limit this.ignorecase this.matchesignorecase chars start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch chars index this.pattern pindex pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex matchesignorecase iterator start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch1 ch iterator.setindex index ch2 this.pattern pindex ch1 ch2 ch1 character.touppercase ch1 ch2 character.touppercase ch2 ch1 ch2 character.tolowercase ch1 character.tolowercase ch2 pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex matchesignorecase text start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch1 ch text.charat index ch2 this.pattern pindex ch1 ch2 ch1 character.touppercase ch1 ch2 character.touppercase ch2 ch1 ch2 character.tolowercase ch1 character.tolowercase ch2 pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex matchesignorecase chars start limit plength this.pattern.length plength start index start plength index limit pindex plength nindex index ch ch1 ch chars index ch2 this.pattern pindex ch1 ch2 ch1 character.touppercase ch1 ch2 character.touppercase ch2 ch1 ch2 character.tolowercase ch1 character.tolowercase ch2 pindex index pindex index this.shifttable ch this.shifttable.length index nindex index nindex