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? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: