This transformer will only touch assertion that assert characters beyond the edge of the pattern.
E.g. in /(?<!\w)(?!\d)\w+(?=\s*<)/ only (?<!\w) and (?=\s*<) are pattern edge assertions.
The transformer can inline non-negated assertions (e.g. /(?<!\w)(?!\d)\w+(?=\s*<)/ => /(?<!\w)(?!\d)\w+\s*</)
and/or remove them (e.g. /(?<!\w)(?!\d)\w+\s*</ => /(?!\d)\w+\s*</).
If both inlining and removal are active, then inlining will be done first, e.g. a(?=\w)(?!\d) => a(?!\d)\w, which
may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the (?!\d)
in (?=\w)a?(?!\d) will not be removed because the pattern may be transformed to (?:a|(?=\w))(?!\d) =>
a(?!\d)|(?=\w)(?!\d) which can be inlined to a(?!\d)|(?!\d)\w and transformed to a(?!\d)|[A-Z_a-z].
If neither inlining nor removal are active, then this transformer won't do anything.
This transformer will only touch assertion that assert characters beyond the edge of the pattern.
E.g. in
/(?<!\w)(?!\d)\w+(?=\s*<)/only(?<!\w)and(?=\s*<)are pattern edge assertions.The transformer can inline non-negated assertions (e.g.
/(?<!\w)(?!\d)\w+(?=\s*<)/=>/(?<!\w)(?!\d)\w+\s*</) and/or remove them (e.g./(?<!\w)(?!\d)\w+\s*</=>/(?!\d)\w+\s*</).If both inlining and removal are active, then inlining will be done first, e.g.
a(?=\w)(?!\d)=>a(?!\d)\w, which may prevent some removal. Some assertions will not be removed because another may be inlined later. E.g. the(?!\d)in(?=\w)a?(?!\d)will not be removed because the pattern may be transformed to(?:a|(?=\w))(?!\d)=>a(?!\d)|(?=\w)(?!\d)which can be inlined toa(?!\d)|(?!\d)\wand transformed toa(?!\d)|[A-Z_a-z].If neither inlining nor removal are active, then this transformer won't do anything.