Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.parser.ast;
 
 
public class RegexpLiteralExpression extends BaseExpression {
    static class RegexpLiteralExpressionParser {
        private static final String REG_EXP_PATTERN = "^\\/(.*)\\/([igm]{0,})$";
        static RegexpLiteralExpressionParser parse(String text) {
            Pattern pattern = Pattern.compile();
            Matcher matcher = pattern.matcher(text);
                    
            if (matcher.matches()) {
                return new RegexpLiteralExpressionParser(matcher.group(1), matcher.group(2));
            }
            return null;
        }
        private final String source;
        private final String flags;
        private RegexpLiteralExpressionParser(String sourceString flags) {
            this. = source;
            this. = flags;
        }
        public String getPattern() {
            return ;
        }
        public String getFlags() {
            return ;
        }
    }
    private String pattern;
    private String flags;
    public RegexpLiteralExpression(Position positionString text) {
        super(position);
        
        RegexpLiteralExpressionParser parser = RegexpLiteralExpressionParser.parse(text);
        if (parser == null) {
            throw new SyntaxError(position"Invalid regular expression");
        }
        this. = parser.getPattern();
        this. = parser.getFlags();
    }
    public String getPattern() {
        return this.;
    }
    public String getFlags() {
        return this.;
    }
    public String toString() {
        return "/" + this. + "/" + this.;
    }
    
    public int getSizeMetric() {
        return 3;
    }
    @Override
    public void accept(ExecutionContext contextCodeVisitor visitorboolean strict) {
        visitor.visit(contextthisstrict);
    }
New to GrepCode? Check out our FAQ X