var searchIndex = {}; searchIndex["regex_syntax"] = {"doc":"This crate provides a regular expression parser and an abstract syntax for\nregular expressions. The abstract syntax is defined by the `Expr` type. The\nconcrete syntax is enumerated in the\n[`regex`](../regex/index.html#syntax)\ncrate documentation.","items":[[3,"CharClass","regex_syntax","A character class.",null,null],[3,"ClassRange","","A single inclusive range in a character class.",null,null],[12,"start","","The start character of the range.",0,null],[12,"end","","The end character of the range.",0,null],[3,"ByteClass","","A byte class for byte ranges only.",null,null],[3,"ByteRange","","A single inclusive range in a byte class.",null,null],[12,"start","","The start byte of the range.",1,null],[12,"end","","The end byte of the range.",1,null],[3,"ExprBuilder","","A builder for configuring regular expression parsing.",null,null],[3,"Error","","A parse error.",null,null],[4,"Expr","","A regular expression abstract syntax tree.",null,null],[13,"Empty","","An empty regex (which never matches any text).",2,null],[13,"Literal","","A sequence of one or more literal characters to be matched.",2,null],[12,"chars","regex_syntax::Expr","The characters.",2,null],[12,"casei","","Whether to match case insensitively.",2,null],[13,"LiteralBytes","regex_syntax","A sequence of one or more literal bytes to be matched.",2,null],[12,"bytes","regex_syntax::Expr","The bytes.",2,null],[12,"casei","","Whether to match case insensitively.",2,null],[13,"AnyChar","regex_syntax","Match any character.",2,null],[13,"AnyCharNoNL","","Match any character, excluding new line (`0xA`).",2,null],[13,"AnyByte","","Match any byte.",2,null],[13,"AnyByteNoNL","","Match any byte, excluding new line (`0xA`).",2,null],[13,"Class","","A character class.",2,null],[13,"ClassBytes","","A character class with byte ranges only.",2,null],[13,"StartLine","","Match the start of a line or beginning of input.",2,null],[13,"EndLine","","Match the end of a line or end of input.",2,null],[13,"StartText","","Match the beginning of input.",2,null],[13,"EndText","","Match the end of input.",2,null],[13,"WordBoundary","","Match a word boundary (word character on one side and a non-word\ncharacter on the other).",2,null],[13,"NotWordBoundary","","Match a position that is not a word boundary (word or non-word\ncharacters on both sides).",2,null],[13,"WordBoundaryAscii","","Match an ASCII word boundary.",2,null],[13,"NotWordBoundaryAscii","","Match a position that is not an ASCII word boundary.",2,null],[13,"Group","","A group, possibly non-capturing.",2,null],[12,"e","regex_syntax::Expr","The expression inside the group.",2,null],[12,"i","","The capture index (starting at `1`) only for capturing groups.",2,null],[12,"name","","The capture name, only for capturing named groups.",2,null],[13,"Repeat","regex_syntax","A repeat operator (`?`, `*`, `+` or `{m,n}`).",2,null],[12,"e","regex_syntax::Expr","The expression to be repeated. Limited to literals, `.`, classes\nor grouped expressions.",2,null],[12,"r","","The type of repeat operator used.",2,null],[12,"greedy","","Whether the repeat is greedy (match the most) or not (match the\nleast).",2,null],[13,"Concat","regex_syntax","A concatenation of expressions. Must be matched one after the other.",2,null],[13,"Alternate","","An alternation of expressions. Only one must match.",2,null],[4,"Repeater","","The type of a repeat operator expression.",null,null],[13,"ZeroOrOne","","Match zero or one (`?`).",3,null],[13,"ZeroOrMore","","Match zero or more (`*`).",3,null],[13,"OneOrMore","","Match one or more (`+`).",3,null],[13,"Range","","Match for at least `min` and at most `max` (`{m,n}`).",3,null],[12,"min","regex_syntax::Repeater","Lower bound on the number of matches.",3,null],[12,"max","","Optional upper bound on the number of matches.",3,null],[4,"ErrorKind","regex_syntax","The specific type of parse error that can occur.",null,null],[13,"DoubleFlagNegation","","A negation symbol is used twice in flag settings.\ne.g., `(?-i-s)`.",4,null],[13,"DuplicateCaptureName","","The same capture name was used more than once.\ne.g., `(?P<a>.)(?P<a>.)`.",4,null],[13,"EmptyAlternate","","An alternate is empty. e.g., `(|a)`.",4,null],[13,"EmptyCaptureName","","A capture group name is empty. e.g., `(?P<>a)`.",4,null],[13,"EmptyFlagNegation","","A negation symbol was not proceded by any flags. e.g., `(?i-)`.",4,null],[13,"EmptyGroup","","A group is empty. e.g., `()`.",4,null],[13,"InvalidBase10","","An invalid number was used in a counted repetition. e.g., `a{b}`.",4,null],[13,"InvalidBase16","","An invalid hexadecimal number was used in an escape sequence.\ne.g., `\\xAG`.",4,null],[13,"InvalidCaptureName","","An invalid capture name was used. e.g., `(?P<0a>b)`.",4,null],[13,"InvalidClassRange","","An invalid class range was givien. Specifically, when the start of the\nrange is greater than the end. e.g., `[z-a]`.",4,null],[12,"start","regex_syntax::ErrorKind","The first character specified in the range.",4,null],[12,"end","","The second character specified in the range.",4,null],[13,"InvalidClassEscape","regex_syntax","An escape sequence was used in a character class where it is not\nallowed. e.g., `[a-\\pN]` or `[\\A]`.",4,null],[13,"InvalidRepeatRange","","An invalid counted repetition min/max was given. e.g., `a{2,1}`.",4,null],[12,"min","regex_syntax::ErrorKind","The first number specified in the repetition.",4,null],[12,"max","","The second number specified in the repetition.",4,null],[13,"InvalidScalarValue","regex_syntax","An invalid Unicode scalar value was used in a long hexadecimal\nsequence. e.g., `\\x{D800}`.",4,null],[13,"MissingBase10","","An empty counted repetition operator. e.g., `a{}`.",4,null],[13,"RepeaterExpectsExpr","","A repetition operator was not applied to an expression. e.g., `*`.",4,null],[13,"RepeaterUnexpectedExpr","","A repetition operator was applied to an expression that cannot be\nrepeated. e.g., `a+*` or `a|*`.",4,null],[13,"UnclosedCaptureName","","A capture group name that is never closed. e.g., `(?P<a`.",4,null],[13,"UnclosedHex","","An unclosed hexadecimal literal. e.g., `\\x{a`.",4,null],[13,"UnclosedParen","","An unclosed parenthesis. e.g., `(a`.",4,null],[13,"UnclosedRepeat","","An unclosed counted repetition operator. e.g., `a{2`.",4,null],[13,"UnclosedUnicodeName","","An unclosed named Unicode class. e.g., `\\p{Yi`.",4,null],[13,"UnexpectedClassEof","","Saw end of regex before class was closed. e.g., `[a`.",4,null],[13,"UnexpectedEscapeEof","","Saw end of regex before escape sequence was closed. e.g., `\\`.",4,null],[13,"UnexpectedFlagEof","","Saw end of regex before flags were closed. e.g., `(?i`.",4,null],[13,"UnexpectedTwoDigitHexEof","","Saw end of regex before two hexadecimal digits were seen. e.g., `\\xA`.",4,null],[13,"UnopenedParen","","Unopened parenthesis. e.g., `)`.",4,null],[13,"UnrecognizedEscape","","Unrecognized escape sequence. e.g., `\\q`.",4,null],[13,"UnrecognizedFlag","","Unrecognized flag. e.g., `(?a)`.",4,null],[13,"UnrecognizedUnicodeClass","","Unrecognized named Unicode class. e.g., `\\p{Foo}`.",4,null],[13,"StackExhausted","","Indicates that the regex uses too much nesting.",4,null],[13,"FlagNotAllowed","","A disallowed flag was found (e.g., `b`).",4,null],[13,"UnicodeNotAllowed","","A Unicode class was used when the bytes (`b`) flag was enabled.",4,null],[5,"quote","","Escapes all regular expression meta characters in `text`.",null,{"inputs":[{"name":"str"}],"output":{"name":"string"}}],[6,"Result","","An alias for computations that can return a `Error`.",null,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"cmp","","",0,null],[11,"partial_cmp","","",0,null],[11,"lt","","",0,null],[11,"le","","",0,null],[11,"gt","","",0,null],[11,"ge","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"cmp","","",1,null],[11,"partial_cmp","","",1,null],[11,"lt","","",1,null],[11,"le","","",1,null],[11,"gt","","",1,null],[11,"ge","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"new","","Create a new builder for configuring expression parsing.",7,{"inputs":[],"output":{"name":"exprbuilder"}}],[11,"case_insensitive","","Set the default value for the case insensitive (`i`) flag.",7,null],[11,"multi_line","","Set the default value for the multi-line matching (`m`) flag.",7,null],[11,"dot_matches_new_line","","Set the default value for the any character (`s`) flag.",7,null],[11,"swap_greed","","Set the default value for the greedy swap (`U`) flag.",7,null],[11,"ignore_whitespace","","Set the default value for the ignore whitespace (`x`) flag.",7,null],[11,"unicode","","Set the default value for the Unicode (`u`) flag.",7,null],[11,"allow_bytes","","Whether the Unicode flag can be used or not. By default, the flag is\nenabled but it cannot be toggled.",7,null],[11,"nest_limit","","Set the nesting limit for regular expression parsing.",7,null],[11,"parse","","Parse a string as a regular expression using the current configuraiton.",7,null],[11,"parse","","Parses a string in a regular expression syntax tree.",2,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"is_anchored_start","","Returns true if and only if the expression is required to match from\nthe beginning of text.",2,null],[11,"is_anchored_end","","Returns true if and only if the expression is required to match at the\nend of the text.",2,null],[11,"has_bytes","","Returns true if and only if the expression contains sub-expressions\nthat can match arbitrary bytes.",2,null],[11,"deref","","",5,null],[11,"into_iter","","",5,null],[11,"new","","Create a new class from an existing set of ranges.",5,{"inputs":[{"name":"vec"}],"output":{"name":"charclass"}}],[11,"matches","","Returns true if `c` is matched by this character class.",5,null],[11,"negate","","Negates the character class.",5,null],[11,"case_fold","","Apply case folding to this character class.",5,null],[11,"eq","","",0,null],[11,"partial_cmp","","",0,null],[11,"new","","Create a new class from an existing set of ranges.",6,{"inputs":[{"name":"vec"}],"output":{"name":"byteclass"}}],[11,"matches","","Returns true if `b` is matched by this byte class.",6,null],[11,"negate","","Negates the byte class.",6,null],[11,"case_fold","","Apply case folding to this byte class.",6,null],[11,"deref","","",6,null],[11,"into_iter","","",6,null],[11,"eq","","",1,null],[11,"partial_cmp","","",1,null],[11,"fmt","","",2,null],[11,"fmt","","",3,null],[11,"fmt","","",5,null],[11,"fmt","","",0,null],[11,"fmt","","",6,null],[11,"fmt","","",1,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"position","","Returns an approximate *character* offset at which the error occurred.",8,null],[11,"kind","","Returns the type of the regex parse error.",8,null],[11,"description","","",8,null],[11,"fmt","","",8,null],[11,"fmt","","",4,null]],"paths":[[3,"ClassRange"],[3,"ByteRange"],[4,"Expr"],[4,"Repeater"],[4,"ErrorKind"],[3,"CharClass"],[3,"ByteClass"],[3,"ExprBuilder"],[3,"Error"]]}; initSearch(searchIndex);