We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I want to gather up many areas of near-future work that we've been clarifying through the proposal reviews.
Loose categorization:
String
ChoiceOf
map
regex.matchingAnywhere => Regex { /.*?/ ; regex ; /.*/ }
Character
(?n)
replace(_:withTemplate:)
$1
\1
Unicode.Properties
Unicode.AllScalars
var Substring.range: Range<String.Index>
String.lines()
String.words()
Regex<T>.Match.init?(_:ARO)
Regex<T>.Match.init?(_:Regex<ARO>.Match)
Repeat(separator: \.whitespace) { ... }
Repeat(while:)
Repeat(whileNot:)
Until(negLookaheadCondition) { ... }
func compile() throws
Reference
Substring.self
(?(x)...)
[a-z\q{ch}]
(?J)
(?|)
(?(?{...}))
(?((x))x)
(?(DEFINE))
\p{key=/regex/}
\p{toNFKC_Casefold=@toNFKC@}
key≠value
key!=value
key:value
a**
(?U)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I want to gather up many areas of near-future work that we've been clarifying through the proposal reviews.
Loose categorization:
Language and integration
String
-backed, CaseIterable enum as a regex componentChoiceOf
all cases in orderAPI
map
over a regex, perhaps per-capture, to supply post-processing transforms at regex declaration timeregex.matchingAnywhere => Regex { /.*?/ ; regex ; /.*/ }
.Character
-aligned for whole match and each capture(?n)
, could be nice to strip out captures you don't care about, especially for type erased regexes.Algorithms
replace(_:withTemplate:)
method that recognizes$1
or\1
placeholdersString and Unicode
Unicode.Properties
and support in regexesUnicode.AllScalars
as a public type (semi-tangential)var Substring.range: Range<String.Index>
to simplify getting the range of a capture groupString.lines()
andString.words()
Dynamic Regex API
Regex<T>.Match.init?(_:ARO)
Regex<T>.Match.init?(_:Regex<ARO>.Match)
Builders
Repeat(separator: \.whitespace) { ... }
Repeat(while:)
Repeat(whileNot:)
Until(negLookaheadCondition) { ... }
func compile() throws
to explicitly trigger compilation and get errors, such as quantifying the unquantifiableReference
capture type toSubstring.self
Engine
(?(x)...)
(requires updated parsing)[a-z\q{ch}]
)Parser
(?J)
(requires figuring out typed captures)(?|)
(parsing is implemented, but requires figuring out typed captures)(?(x)...)
in accordance to what is in the syntax proposal (we currently parse the condition differently)(?(?{...}))
(?((x))x)
. .NET also forbids named capture conditions, we should ban that.(?(x)...)
(?(DEFINE))
to have a false branch\p{key=/regex/}
\p{toNFKC_Casefold=@toNFKC@}
key≠value
,key!=value
key:value
a**
syntax as explicitly eager quantification(?U)
The text was updated successfully, but these errors were encountered: