diff options
Diffstat (limited to 'doc/RE')
-rw-r--r-- | doc/RE | 50 |
1 files changed, 35 insertions, 15 deletions
@@ -1,4 +1,4 @@ -Oniguruma Regular Expressions Version 6.5.0 2017/07/30 +Oniguruma Regular Expressions Version 6.6.0 2017/08/29 syntax: ONIG_SYNTAX_RUBY (default) @@ -80,6 +80,16 @@ syntax: ONIG_SYNTAX_RUBY (default) \O true anychar (?m:.) (* original function) + \X Extended Grapheme Cluster (?>\O(?:\Y\O)*) + + \X doesn't check whether matching start position is boundary. + Write as \y\X if you want to ensure it. + + Unicode case: + See [Unicode Standard Annex #29: http://unicode.org/reports/tr29/] + + Not Unicode: (?>\r\n|\O) + Character Property @@ -139,6 +149,9 @@ syntax: ONIG_SYNTAX_RUBY (default) $ end of the line \b word boundary \B non-word boundary + \y Extended Grapheme Cluster boundary + \Y Extended Grapheme Cluster non-boundary + \A beginning of string \Z end of string, or before newline at the end \z end of string @@ -207,11 +220,19 @@ syntax: ONIG_SYNTAX_RUBY (default) (?#...) comment - (?imx-imx) option on/off - i: ignore case - m: multi-line (dot (.) also matches newline) - x: extended form - (?imx-imx:subexp) option on/off for subexp + (?imxWDSP-imxWDSP) option on/off + i: ignore case + m: multi-line (dot (.) also matches newline) + x: extended form + W: ASCII only word (\w, \p{Word}, [[:word:]]) + ASCII only word bound (\b) + D: ASCII only digit (\d, \p{Digit}, [[:digit:]]) + S: ASCII only space (\s, \p{Space}, [[:space:]]) + P: ASCII only POSIX properties (includes W,D,S) + (alnum, alpha, blank, cntrl, digit, graph, + lower, print, punct, space, upper, xdigit, word) + + (?imxWDSP-imxWDSP:subexp) option on/off for subexp (?:subexp) non-capturing group (subexp) capturing group @@ -245,24 +266,23 @@ syntax: ONIG_SYNTAX_RUBY (default) (?~absent) Absent repeater (* proposed by Tanaka Akira) This works like .* (more precisely \O*), but it is limited by the range that does not include the string - match with absent. + match with <absent>. This is a written abbreviation of (?~|absent|\O*). \O* is used as a repeater. (?~|absent|exp) Absent expression (* original) This works like "exp", but it is limited by the range - that does not include the string match with absent. + that does not include the string match with <absent>. ex. (?~|345|\d*) "12345678" ==> "12", "1", "" - (?~|absent) Absent cutter (* original) + (?~|absent) Absent stopper (* original) After passed this operator, string right range is limited at the point that does not include the string match whth - absent. + <absent>. - (?~|) Absent clear - Clear the effects caused by Absent cutters. - (* This operation is not cancelled by backtrack.) + (?~|) Range clear + Clear the effects caused by Absent stoppers. * Nested Absent functions are not supported and the behavior is undefined. @@ -273,7 +293,7 @@ syntax: ONIG_SYNTAX_RUBY (default) condition_exp can be a backreference number/name or a normal regular expression. - When condition_exp is a backreference, both then_exp and + When condition_exp is a backreference number/name, both then_exp and else_exp can be omitted. Then it works as a backreference validity checker. @@ -420,7 +440,7 @@ A-2. Original extensions A-3. Missing features compared with perl 5.8.0 + \N{name} - + \l,\u,\L,\U, \X, \C + + \l,\u,\L,\U,\C + (?{code}) + (??{code}) |