name: Regular Expressions (Python) fileTypes:
-
re
scopeName: source.regexp.python repository:
character-class: patterns: - name: constant.character.character-class.regexp match: \\[wWsSdDhH]|\. - name: constant.character.escape.backslash.regexp match: \\. - name: constant.other.character-class.set.regexp endCaptures: "1": name: punctuation.definition.character-class.regexp begin: (\[)(\^)? beginCaptures: "1": name: punctuation.definition.character-class.regexp "2": name: keyword.operator.negation.regexp end: (\]) patterns: - include: "#character-class" - name: constant.other.character-class.range.regexp captures: "2": name: constant.character.escape.backslash.regexp "4": name: constant.character.escape.backslash.regexp match: (.|(\\.))\-([^\]]|(\\.))
uuid: DD867ABF-1EC6-415D-B047-687F550A1D51 foldingStartMarker: (/*|{|() patterns:
-
name: keyword.control.anchor.regexp match: \[bBAZzG]|^|$
-
name: keyword.other.back-reference.regexp match: \[1-9]?
-
name: keyword.operator.quantifier.regexp match: “[?+*][?+]?|\{(\d+,\d+|\d+,|,\d+|\d+)\}\??”
-
name: keyword.operator.or.regexp match: |
-
name: comment.block.regexp begin: (?# end: )
-
name: comment.line.number-sign.regexp match: (?<=^|s)#s[[a-zA-Z0-9,. t?!-:][^x00-x7F]]*$ comment: We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.
-
name: keyword.other.option-toggle.regexp match: (?[iLmsux]+)
-
name: keyword.other.back-reference.named.regexp match: (()(?P=([a-zA-Z_][a-zA-Z_0-9]w))())
-
name: meta.group.assertion.regexp endCaptures:
"1": name: punctuation.definition.group.regexp
begin: (()((?=)|(?!)|(?<=)|(?<!)) beginCaptures:
"6": name: meta.assertion.negative-look-behind.regexp "1": name: punctuation.definition.group.regexp "2": name: punctuation.definition.group.assertion.regexp "3": name: meta.assertion.look-ahead.regexp "4": name: meta.assertion.negative-look-ahead.regexp "5": name: meta.assertion.look-behind.regexp
end: ()) patterns:
-
include: $self
-
-
name: meta.group.assertion.conditional.regexp begin: (()(?(([1-9]?|[a-zA-Z_]*))) beginCaptures:
"1": name: punctuation.definition.group.regexp "2": name: punctuation.definition.group.assertion.conditional.regexp "3": name: entity.name.section.back-reference.regexp
end: ()) patterns:
-
include: $self
comment: we can make this more sophisticated to match the | character that separates yes-pattern from no-pattern, but it's not really necessary.
-
-
name: meta.group.regexp endCaptures:
"1": name: punctuation.definition.group.regexp
begin: (()((?P<)([a-z]w*)(>)|(?:))? beginCaptures:
"6": name: punctuation.definition.group.no-capture.regexp "1": name: punctuation.definition.group.regexp "3": name: punctuation.definition.group.capture.regexp "4": name: entity.name.section.group.regexp "5": name: punctuation.definition.group.capture.regexp
end: ()) patterns:
-
include: $self
-
-
include: “#character-class”
foldingStopMarker: (*/|}|)) comment: Matches Python's regular expression syntax.