Expand description
Rust bindings for the Oniguruma regular expressions library.
Example of usage:
use oniguruma::Regex;
let regex = Regex::new("e(l+)").unwrap();
for (i, pos) in regex.captures("hello").unwrap().iter_pos().enumerate() {
match pos {
Some((beg, end)) =>
println!("Group {} captured in position {}:{}", i, beg, end),
None =>
println!("Group {} is not captured", i)
}
}
Structs§
- Capture
Tree Node - Capture
Tree Node Iter - Captures
- Captures represents a group of captured strings for a single match.
- Error
- An error that occurred during parsing, compiling or evaluating a regular expression.
- Options
- Regex parsing, compilation and evaluation options.
- Regex
- A compiled Oniguruma regular expression.
- Regex
Config - Region
- Representation of regex search result.
- SubCaptures
- An iterator over capture groups for a particular match of a regular expression.
- SubCaptures
Pos - An iterator over capture group positions for a particular match of a regular expression.
- Syntax
- Syntax
Behavior - Syntax
Operator
Constants§
- OPTION_
CAPTURE_ GROUP - Named and no-named group captured. This is search time option.
- OPTION_
DONT_ CAPTURE_ GROUP - Only named group captured. This is search time option.
- OPTION_
EXTEND - Extended pattern form. This is compile time option.
- OPTION_
FIND_ LONGEST - Find longest match. This is compile time option.
- OPTION_
FIND_ NOT_ EMPTY - Ignore empty match. This is compile time option.
- OPTION_
IGNORECASE - Ambiguity match on. This is compile time option.
- OPTION_
MULTILINE '.'
match with newline. This is compile time option.- OPTION_
NEGATE_ SINGLELINE - Clear
OPTION_SINGLELINE
which is enabled onSYNTAX_POSIX_BASIC
,SYNTAX_POSIX_EXTENDED
,SYNTAX_PERL
,SYNTAX_PERL_NG
,SYNTAX_JAVA
. This is compile time option. - OPTION_
NONE - Default options. This is both compile and search time option.
- OPTION_
NOTBOL - String head isn’t considered as begin of line
- OPTION_
NOTEOL - String end isn’t considered as end of line
- OPTION_
SINGLELINE '^'
->'\A'
,'$'
->'\Z'
. This is compile time option.- SYNTAX_
BEHAVIOR_ ALLOW_ DOUBLE_ RANGE_ OP_ IN_ CC [0-9-a]=[0-9\-a]
- SYNTAX_
BEHAVIOR_ ALLOW_ INTERVAL_ LOW_ ABBREV {,n} => {0,n}
- SYNTAX_
BEHAVIOR_ ALLOW_ INVALID_ INTERVAL {???
- SYNTAX_
BEHAVIOR_ ALLOW_ MULTIPLEX_ DEFINITION_ NAME (?<x>)(?<x>)
- SYNTAX_
BEHAVIOR_ ALLOW_ UNMATCHED_ CLOSE_ SUBEXP ...)...
- SYNTAX_
BEHAVIOR_ BACKSLASH_ ESCAPE_ IN_ CC [..\w..] etc..
- SYNTAX_
BEHAVIOR_ CAPTURE_ ONLY_ NAMED_ GROUP - See Oniguruma documenation
- SYNTAX_
BEHAVIOR_ CONTEXT_ INDEP_ REPEAT_ OPS ?, *, +, {n,m}
- SYNTAX_
BEHAVIOR_ CONTEXT_ INVALID_ REPEAT_ OPS error or ignore
- SYNTAX_
BEHAVIOR_ DIFFERENT_ LEN_ ALT_ LOOK_ BEHIND (?<=a|bc)
- SYNTAX_
BEHAVIOR_ FIXED_ INTERVAL_ IS_ GREEDY_ ONLY a{n}?=(?:a{n})?
- SYNTAX_
BEHAVIOR_ NOT_ NEWLINE_ IN_ NEGATIVE_ CC [^...]
- SYNTAX_
BEHAVIOR_ STRICT_ CHECK_ BACKREF /(\1)/,/\1()/ ..
- SYNTAX_
BEHAVIOR_ WARN_ CC_ OP_ NOT_ ESCAPED [,-,]
- SYNTAX_
BEHAVIOR_ WARN_ REDUNDANT_ NESTED_ REPEAT (?:a*)+
- SYNTAX_
OPERATOR_ ASTERISK_ ZERO_ INF *
- SYNTAX_
OPERATOR_ ATMARK_ CAPTURE_ HISTORY (?@..),(?@<x>..)
- SYNTAX_
OPERATOR_ BRACE_ INTERVAL {lower,upper}
- SYNTAX_
OPERATOR_ BRACKET_ CC [...]
- SYNTAX_
OPERATOR_ CCLASS_ SET_ OP [...&&..[..]..]
- SYNTAX_
OPERATOR_ DECIMAL_ BACKREF \num
- SYNTAX_
OPERATOR_ DOT_ ANYCHAR .
- SYNTAX_
OPERATOR_ ESC_ AZ_ BUF_ ANCHOR \A, \Z, \z
- SYNTAX_
OPERATOR_ ESC_ BRACE_ INTERVAL \{lower,upper\}
- SYNTAX_
OPERATOR_ ESC_ B_ WORD_ BOUND \b, \B
- SYNTAX_
OPERATOR_ ESC_ CAPITAL_ C_ BAR_ CONTROL \C-x
- SYNTAX_
OPERATOR_ ESC_ CAPITAL_ G_ BEGIN_ ANCHOR \G
- SYNTAX_
OPERATOR_ ESC_ CAPITAL_ M_ BAR_ META \M-x
- SYNTAX_
OPERATOR_ ESC_ CAPITAL_ Q_ QUOTE \Q...\E
- SYNTAX_
OPERATOR_ ESC_ CONTROL_ CHARS \n,\r,\t,\a ...
- SYNTAX_
OPERATOR_ ESC_ C_ CONTROL \cx
- SYNTAX_
OPERATOR_ ESC_ D_ DIGIT \d, \D
- SYNTAX_
OPERATOR_ ESC_ GNU_ BUF_ ANCHOR \
, '`- SYNTAX_
OPERATOR_ ESC_ G_ SUBEXP_ CALL \g<name>, \g<n>
- SYNTAX_
OPERATOR_ ESC_ H_ XDIGIT \h, \H
- SYNTAX_
OPERATOR_ ESC_ K_ NAMED_ BACKREF \k<name>
- SYNTAX_
OPERATOR_ ESC_ LPAREN_ SUBEXP \(...\)
- SYNTAX_
OPERATOR_ ESC_ LTGT_ WORD_ BEGIN_ END \<. \>
- SYNTAX_
OPERATOR_ ESC_ OCTA L3 \OOO
- SYNTAX_
OPERATOR_ ESC_ P_ BRACE_ CHAR_ PROPERTY \p{...}, \P{...}
- SYNTAX_
OPERATOR_ ESC_ P_ BRACE_ CIRCUMFLEX_ NOT \p{^..}, \P{^..}
- SYNTAX_
OPERATOR_ ESC_ S_ WHITE_ SPACE \s, \S
- SYNTAX_
OPERATOR_ ESC_ U_ HEX4 \uHHHH
- SYNTAX_
OPERATOR_ ESC_ VBAR_ ALT \|
- SYNTAX_
OPERATOR_ ESC_ V_ VTAB \v as VTAB
- SYNTAX_
OPERATOR_ ESC_ W_ WORD \w, \W
- SYNTAX_
OPERATOR_ ESC_ X_ BRACE_ HEX8 \x{7HHHHHHH}
- SYNTAX_
OPERATOR_ ESC_ X_ HEX2 \xHH
- SYNTAX_
OPERATOR_ INEFFECTIVE_ ESCAPE \
- SYNTAX_
OPERATOR_ LINE_ ANCHOR ^, $
- SYNTAX_
OPERATOR_ LPAREN_ SUBEXP (...)
- SYNTAX_
OPERATOR_ OPTION_ PERL (?imsx),(?-imsx)
- SYNTAX_
OPERATOR_ OPTION_ RUBY (?imx), (?-imx)
- SYNTAX_
OPERATOR_ PLUS_ ONE_ INF +
- SYNTAX_
OPERATOR_ PLUS_ POSSESSIVE_ INTERVAL {n,m}+
- SYNTAX_
OPERATOR_ PLUS_ POSSESSIVE_ REPEAT ?+,*+,++
- SYNTAX_
OPERATOR_ POSIX_ BRACKET [:xxxx:]
- SYNTAX_
OPERATOR_ QMARK_ GROUP_ EFFECT (?...)
- SYNTAX_
OPERATOR_ QMARK_ LT_ NAMED_ GROUP (?<name>...)
- SYNTAX_
OPERATOR_ QMARK_ NON_ GREEDY ??,*?,+?,{n,m}?
- SYNTAX_
OPERATOR_ QMARK_ ZERO_ ONE ?
- SYNTAX_
OPERATOR_ VBAR_ ALT |
Statics§
- ENCODING_
UTF8 - SYNTAX_
ASIS - Plain text syntax
- SYNTAX_
EMACS - Emacs syntax
- SYNTAX_
GNU_ REGEX - GNU regex syntax
- SYNTAX_
GREP - Grep syntax
- SYNTAX_
JAVA - Java (Sun java.util.regex) syntax
- SYNTAX_
PERL - Perl syntax
- SYNTAX_
PERL_ NG - Perl + named group syntax
- SYNTAX_
POSIX_ BASIC - POSIX Basic RE syntax
- SYNTAX_
POSIX_ EXTENDED - POSIX Extended RE syntax
- SYNTAX_
RUBY - Ruby syntax (default)