This is a new major release of the regex crate, and is an implementation of the
regex 1.0 RFC.
We are releasing a 0.2 first, and if there are no major problems, we will
release a 1.0 shortly. For 0.2, the minimum supported Rust version is
1.12.
There are a number of breaking changes in 0.2. They are split into two
types. The first type correspond to breaking changes in regular expression
syntax. The second type correspond to breaking changes in the API.
Breaking changes for regex syntax:
POSIX character classes now require double bracketing. Previously, the regex
[:upper:] would parse as the upper POSIX character class. Now it parses
as the character class containing the characters :upper:. The fix to this
change is to use [[:upper:]] instead. Note that variants like
[[:upper:][:blank:]] continue to work.
The character [ must always be escaped inside a character class.
The characters &, - and ~ must be escaped if any one of them are
repeated consecutively. For example, [&], [\&], [\&\&], [&-&] are all
equivalent while [&&] is illegal. (The motivation for this and the prior
change is to provide a backwards compatible path for adding character class
set notation.)
A bytes::Regex now has Unicode mode enabled by default (like the main
Regex type). This means regexes compiled with bytes::Regex::new that
don't have the Unicode flag set should add (?-u) to recover the original
behavior.
Breaking changes for the regex API:
find and find_iter now return Match values instead of
(usize, usize).Match values have start and end methods, which
return the match offsets. Match values also have an as_str method,
which returns the text of the match itself.
The Captures type now only provides a single iterator over all capturing
matches, which should replace uses of iter and iter_pos. Uses of
iter_named should use the capture_names method on Regex.
The at method on the Captures type has been renamed to get, and it
now returns a Match. Similarly, the name method on Captures now returns
a Match.
The replace methods now return Cow values. The Cow::Borrowed variant
is returned when no replacements are made.
The Replacer trait has been completely overhauled. This should only
impact clients that implement this trait explicitly. Standard uses of
the replace methods should continue to work unchanged. If you implement
the Replacer trait, please consult the new documentation.
The quote free function has been renamed to escape.
The Regex::with_size_limit method has been removed. It is replaced by
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all group with 1 update: regex-automata.
Updates
regex-automata
from 0.1.10 to 0.2.0Changelog
Sourced from regex-automata's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show