type regexp/syntax.Regexp
62 uses
regexp/syntax (current package)
compile.go#L71: func Compile(re *Regexp) (*Prog, error) {
compile.go#L89: func (c *compiler) compile(re *Regexp) frag {
parse.go#L95: stack []*Regexp // stack of parsed expressions
parse.go#L96: free *Regexp
parse.go#L101: height map[*Regexp]int // regexp height for height limit check
parse.go#L104: func (p *parser) newRegexp(op Op) *Regexp {
parse.go#L108: *re = Regexp{}
parse.go#L110: re = new(Regexp)
parse.go#L117: func (p *parser) reuse(re *Regexp) {
parse.go#L125: func (p *parser) checkHeight(re *Regexp) {
parse.go#L130: p.height = make(map[*Regexp]int)
parse.go#L140: func (p *parser) calcHeight(re *Regexp, force bool) int {
parse.go#L160: func (p *parser) push(re *Regexp) *Regexp {
parse.go#L262: func (p *parser) op(op Op) *Regexp {
parse.go#L320: func repeatIsValid(re *Regexp, n int) bool {
parse.go#L345: func (p *parser) concat() *Regexp {
parse.go#L365: func (p *parser) alternate() *Regexp {
parse.go#L391: func cleanAlt(re *Regexp) {
parse.go#L417: func (p *parser) collapse(subs []*Regexp, op Op) *Regexp {
parse.go#L453: func (p *parser) factor(sub []*Regexp) []*Regexp {
parse.go#L531: var first *Regexp
parse.go#L538: var ifirst *Regexp
parse.go#L640: func (p *parser) leadingString(re *Regexp) ([]rune, Flags) {
parse.go#L652: func (p *parser) removeLeadingString(re *Regexp, n int) *Regexp {
parse.go#L689: func (p *parser) leadingRegexp(re *Regexp) *Regexp {
parse.go#L706: func (p *parser) removeLeadingRegexp(re *Regexp, reuse bool) *Regexp {
parse.go#L729: func literalRegexp(s string, flags Flags) *Regexp {
parse.go#L730: re := &Regexp{Op: OpLiteral}
parse.go#L749: func Parse(s string, flags Flags) (*Regexp, error) {
parse.go#L753: func parse(s string, flags Flags) (_ *Regexp, err error) {
parse.go#L1155: func isCharClass(re *Regexp) bool {
parse.go#L1163: func matchRune(re *Regexp, r rune) bool {
parse.go#L1200: func mergeCharClass(dst, src *Regexp) {
regexp.go#L17: type Regexp struct {
regexp.go#L20: Sub []*Regexp // subexpressions, if any
regexp.go#L21: Sub0 [1]*Regexp // storage for short Sub
regexp.go#L63: func (x *Regexp) Equal(y *Regexp) bool {
regexp.go#L116: func writeRegexp(b *strings.Builder, re *Regexp) {
regexp.go#L246: func (re *Regexp) String() string {
regexp.go#L293: func (re *Regexp) MaxCap() int {
regexp.go#L307: func (re *Regexp) CapNames() []string {
regexp.go#L313: func (re *Regexp) capNames(names []string) {
simplify.go#L14: func (re *Regexp) Simplify() *Regexp {
simplify.go#L26: nre = new(Regexp)
simplify.go#L45: return &Regexp{Op: OpEmptyMatch}
simplify.go#L64: nre := &Regexp{Op: OpConcat}
simplify.go#L85: var prefix *Regexp
simplify.go#L87: prefix = &Regexp{Op: OpConcat}
simplify.go#L98: nre2 := &Regexp{Op: OpConcat}
simplify.go#L113: return &Regexp{Op: OpNoMatch}
simplify.go#L134: func simplify1(op Op, flags Flags, sub, re *Regexp) *Regexp {
simplify.go#L148: re = &Regexp{Op: op, Flags: flags}
regexp
regexp.go#L272: func minInputLen(re *syntax.Regexp) int {