Enhanced replacement options for generic regexes #5960
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As a followup for #5959, I've tried an idea and would like to suggest this change to have enhanced replacement options for generic regexes.
The idea is that in addition to $1 $2 $3 remplacements, we could also have modifiers like $u1 $l2 $uf3 to replace by an uppercase lowercase or uppercase-first value.
This would allow to keep the current generic non-case-sensitive regexes, while also supporting some user-agents where parts are in a wrong/outrageous case, like the example in the fixture with "Moto G" being provided as "g" in the user-agent.
This is backwards compatible and doesn't slow down the detection.