summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2022-10-27 07:18:16 +0200
committerGeorg Brandl <georg@python.org>2022-10-27 12:15:22 +0200
commit629c448bdcbd7ca9f5d530c0ef10fa3bcd7ccbff (patch)
tree0d16b78a78b188e1f3ef28746b87ada37bdd804e
parentcffc5df62c258ca39fc7474f7197f2df33ab014f (diff)
downloadpygments-git-regex.tar.gz
all: convert "re" to "regex"regex
-rw-r--r--.github/workflows/build.yaml6
-rw-r--r--external/markdown-processor.py2
-rw-r--r--pygments/filters/__init__.py2
-rw-r--r--pygments/lexer.py3
-rw-r--r--pygments/lexers/__init__.py2
-rw-r--r--pygments/lexers/_cocoa_builtins.py2
-rw-r--r--pygments/lexers/_csound_builtins.py2
-rw-r--r--pygments/lexers/_lua_builtins.py2
-rw-r--r--pygments/lexers/_mysql_builtins.py2
-rw-r--r--pygments/lexers/_php_builtins.py2
-rw-r--r--pygments/lexers/_postgres_builtins.py2
-rw-r--r--pygments/lexers/_sourcemod_builtins.py2
-rw-r--r--pygments/lexers/actionscript.py2
-rw-r--r--pygments/lexers/ada.py2
-rw-r--r--pygments/lexers/algebra.py2
-rw-r--r--pygments/lexers/ambient.py2
-rw-r--r--pygments/lexers/amdgpu.py4
-rw-r--r--pygments/lexers/apdlexer.py2
-rw-r--r--pygments/lexers/asc.py3
-rw-r--r--pygments/lexers/asm.py2
-rw-r--r--pygments/lexers/basic.py2
-rw-r--r--pygments/lexers/bibtex.py2
-rw-r--r--pygments/lexers/business.py2
-rw-r--r--pygments/lexers/c_cpp.py2
-rw-r--r--pygments/lexers/c_like.py2
-rw-r--r--pygments/lexers/comal.py2
-rw-r--r--pygments/lexers/configs.py2
-rw-r--r--pygments/lexers/crystal.py2
-rw-r--r--pygments/lexers/csound.py2
-rw-r--r--pygments/lexers/css.py3
-rw-r--r--pygments/lexers/dalvik.py2
-rw-r--r--pygments/lexers/diff.py2
-rw-r--r--pygments/lexers/dotnet.py3
-rw-r--r--pygments/lexers/dsls.py2
-rw-r--r--pygments/lexers/dylan.py2
-rw-r--r--pygments/lexers/ecl.py2
-rw-r--r--pygments/lexers/erlang.py2
-rw-r--r--pygments/lexers/ezhil.py2
-rw-r--r--pygments/lexers/forth.py2
-rw-r--r--pygments/lexers/fortran.py2
-rw-r--r--pygments/lexers/foxpro.py2
-rw-r--r--pygments/lexers/gdscript.py2
-rw-r--r--pygments/lexers/graph.py2
-rwxr-xr-xpygments/lexers/gsql.py2
-rw-r--r--pygments/lexers/haskell.py2
-rw-r--r--pygments/lexers/haxe.py2
-rw-r--r--pygments/lexers/hdl.py2
-rw-r--r--pygments/lexers/html.py2
-rw-r--r--pygments/lexers/idl.py2
-rw-r--r--pygments/lexers/igor.py2
-rw-r--r--pygments/lexers/inferno.py2
-rw-r--r--pygments/lexers/installers.py2
-rw-r--r--pygments/lexers/int_fiction.py2
-rw-r--r--pygments/lexers/javascript.py2
-rw-r--r--pygments/lexers/jvm.py2
-rw-r--r--pygments/lexers/lilypond.py2
-rw-r--r--pygments/lexers/lisp.py2
-rw-r--r--pygments/lexers/make.py2
-rw-r--r--pygments/lexers/markup.py2
-rw-r--r--pygments/lexers/matlab.py2
-rw-r--r--pygments/lexers/maxima.py2
-rw-r--r--pygments/lexers/mime.py2
-rw-r--r--pygments/lexers/ml.py2
-rw-r--r--pygments/lexers/modeling.py2
-rw-r--r--pygments/lexers/modula2.py2
-rw-r--r--pygments/lexers/ncl.py2
-rw-r--r--pygments/lexers/nimrod.py2
-rw-r--r--pygments/lexers/nix.py2
-rw-r--r--pygments/lexers/oberon.py2
-rw-r--r--pygments/lexers/objective.py2
-rw-r--r--pygments/lexers/parasail.py2
-rw-r--r--pygments/lexers/parsers.py2
-rw-r--r--pygments/lexers/pascal.py2
-rw-r--r--pygments/lexers/perl.py2
-rw-r--r--pygments/lexers/phix.py2
-rw-r--r--pygments/lexers/php.py2
-rw-r--r--pygments/lexers/prolog.py2
-rw-r--r--pygments/lexers/python.py3
-rw-r--r--pygments/lexers/qlik.py2
-rw-r--r--pygments/lexers/r.py2
-rw-r--r--pygments/lexers/rdf.py2
-rw-r--r--pygments/lexers/rebol.py2
-rw-r--r--pygments/lexers/resource.py2
-rw-r--r--pygments/lexers/templates.py2
-rw-r--r--pygments/lexers/teraterm.py2
-rw-r--r--pygments/lexers/textedit.py3
-rw-r--r--pygments/lexers/textfmts.py2
-rw-r--r--pygments/lexers/tnt.py2
-rw-r--r--pygments/lexers/typoscript.py2
-rw-r--r--pygments/lexers/ul4.py2
-rw-r--r--pygments/lexers/unicon.py2
-rw-r--r--pygments/lexers/urbi.py2
-rw-r--r--pygments/lexers/webmisc.py2
-rw-r--r--pygments/lexers/wowtoc.py2
-rw-r--r--pygments/modeline.py2
-rw-r--r--pygments/regexopt.py5
-rw-r--r--pygments/scanner.py3
-rw-r--r--pygments/util.py3
-rw-r--r--requirements.txt1
-rwxr-xr-xscripts/check_sources.py3
-rw-r--r--scripts/gen_mapfiles.py3
-rw-r--r--scripts/get_vimkw.py2
-rwxr-xr-xscripts/vim2pygments.py3
-rw-r--r--tests/examplefiles/ezhil/ezhil_primefactors.n.output8
-rw-r--r--tests/test_cmdline.py3
-rw-r--r--tests/test_html_formatter.py3
-rw-r--r--tests/test_pangomarkup_formatter.py2
-rw-r--r--tests/test_regexopt.py3
-rw-r--r--tests/test_terminal_formatter.py3
-rw-r--r--tests/test_unistring.py3
110 files changed, 137 insertions, 113 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index b49f5f3f..491ed6d8 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -33,6 +33,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
+ - name: Install regex
+ run: python -m pip install regex
- name: Run make check
run: make check
- name: Fail if the basic checks failed
@@ -44,6 +46,8 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
+ - name: Install regex
+ run: python -m pip install regex
- name: Regenerate mapfiles
run: make mapfiles
- name: Fail if mapfiles changed
@@ -60,6 +64,8 @@ jobs:
- uses: actions/setup-python@v2
with:
python-version: 3.8
+ - name: Install regex
+ run: python -m pip install regex
- name: Check out regexlint
run: git clone https://github.com/pygments/regexlint
- name: Run regexlint
diff --git a/external/markdown-processor.py b/external/markdown-processor.py
index d72012f9..9b8af083 100644
--- a/external/markdown-processor.py
+++ b/external/markdown-processor.py
@@ -32,7 +32,7 @@
INLINESTYLES = False
-import re
+import regex as re
from markdown.preprocessors import Preprocessor
from markdown.extensions import Extension
diff --git a/pygments/filters/__init__.py b/pygments/filters/__init__.py
index 4e5c53f1..9c4a96d2 100644
--- a/pygments/filters/__init__.py
+++ b/pygments/filters/__init__.py
@@ -9,7 +9,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.token import String, Comment, Keyword, Name, Error, Whitespace, \
string_to_tokentype
diff --git a/pygments/lexer.py b/pygments/lexer.py
index 9e461715..e512ff9a 100644
--- a/pygments/lexer.py
+++ b/pygments/lexer.py
@@ -8,10 +8,11 @@
:license: BSD, see LICENSE for details.
"""
-import re
import sys
import time
+import regex as re
+
from pygments.filter import apply_filters, Filter
from pygments.filters import get_filter_by_name
from pygments.token import Error, Text, Other, _TokenType
diff --git a/pygments/lexers/__init__.py b/pygments/lexers/__init__.py
index 83be0e48..6398d734 100644
--- a/pygments/lexers/__init__.py
+++ b/pygments/lexers/__init__.py
@@ -13,6 +13,8 @@ import types
from fnmatch import fnmatch
from os.path import basename
+import regex as re
+
from pygments.lexers._mapping import LEXERS
from pygments.modeline import get_filetype_from_buffer
from pygments.plugin import find_plugin_lexers
diff --git a/pygments/lexers/_cocoa_builtins.py b/pygments/lexers/_cocoa_builtins.py
index 5171139a..151b3ad1 100644
--- a/pygments/lexers/_cocoa_builtins.py
+++ b/pygments/lexers/_cocoa_builtins.py
@@ -17,7 +17,7 @@ COCOA_PRIMITIVES = {'ACErrorCode', 'ALCcontext_struct', 'ALCdevice_struct', 'ALM
if __name__ == '__main__': # pragma: no cover
import os
- import re
+ import regex as re
FRAMEWORKS_PATH = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/'
frameworks = os.listdir(FRAMEWORKS_PATH)
diff --git a/pygments/lexers/_csound_builtins.py b/pygments/lexers/_csound_builtins.py
index b57043dc..dff747de 100644
--- a/pygments/lexers/_csound_builtins.py
+++ b/pygments/lexers/_csound_builtins.py
@@ -36,7 +36,7 @@ vbap1move
# Opcodes in Csound 6.17.0 using:
# python3 -c "
-# import re
+# import regex as re
# from subprocess import Popen, PIPE
# output = Popen(['csound', '--list-opcodes0'], stderr=PIPE, text=True).communicate()[1]
# opcodes = output[re.search(r'^\$', output, re.M).end() : re.search(r'^\d+ opcodes\$', output, re.M).start()].split()
diff --git a/pygments/lexers/_lua_builtins.py b/pygments/lexers/_lua_builtins.py
index a31f6b3b..1d63c4c0 100644
--- a/pygments/lexers/_lua_builtins.py
+++ b/pygments/lexers/_lua_builtins.py
@@ -175,9 +175,9 @@ MODULES = {'basic': ('_G',
'utf8.offset')}
if __name__ == '__main__': # pragma: no cover
- import re
from urllib.request import urlopen
import pprint
+ import regex as re
# you can't generally find out what module a function belongs to if you
# have only its name. Because of this, here are some callback functions
diff --git a/pygments/lexers/_mysql_builtins.py b/pygments/lexers/_mysql_builtins.py
index d266789c..d51743f6 100644
--- a/pygments/lexers/_mysql_builtins.py
+++ b/pygments/lexers/_mysql_builtins.py
@@ -1232,8 +1232,8 @@ MYSQL_KEYWORDS = (
if __name__ == '__main__': # pragma: no cover
- import re
from urllib.request import urlopen
+ import regex as re
from pygments.util import format_lines
diff --git a/pygments/lexers/_php_builtins.py b/pygments/lexers/_php_builtins.py
index a899f1d1..389b78f3 100644
--- a/pygments/lexers/_php_builtins.py
+++ b/pygments/lexers/_php_builtins.py
@@ -3249,10 +3249,10 @@ if __name__ == '__main__': # pragma: no cover
import glob
import os
import pprint
- import re
import shutil
import tarfile
from urllib.request import urlretrieve
+ import regex as re
PHP_MANUAL_URL = 'http://us3.php.net/distributions/manual/php_manual_en.tar.gz'
PHP_MANUAL_DIR = './php-chunked-xhtml/'
diff --git a/pygments/lexers/_postgres_builtins.py b/pygments/lexers/_postgres_builtins.py
index 3305f845..b3b1526b 100644
--- a/pygments/lexers/_postgres_builtins.py
+++ b/pygments/lexers/_postgres_builtins.py
@@ -573,8 +573,8 @@ PLPGSQL_KEYWORDS = (
if __name__ == '__main__': # pragma: no cover
- import re
from urllib.request import urlopen
+ import regex as re
from pygments.util import format_lines
diff --git a/pygments/lexers/_sourcemod_builtins.py b/pygments/lexers/_sourcemod_builtins.py
index 6f1392dc..24e57c70 100644
--- a/pygments/lexers/_sourcemod_builtins.py
+++ b/pygments/lexers/_sourcemod_builtins.py
@@ -1092,8 +1092,8 @@ FUNCTIONS = (
if __name__ == '__main__': # pragma: no cover
- import re
from urllib.request import FancyURLopener
+ import regex as re
from pygments.util import format_lines
diff --git a/pygments/lexers/actionscript.py b/pygments/lexers/actionscript.py
index 3a5bbf21..7ab104d2 100644
--- a/pygments/lexers/actionscript.py
+++ b/pygments/lexers/actionscript.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, using, this, words, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/ada.py b/pygments/lexers/ada.py
index 34fe9895..21c3fa21 100644
--- a/pygments/lexers/ada.py
+++ b/pygments/lexers/ada.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, words, using, this, \
default
diff --git a/pygments/lexers/algebra.py b/pygments/lexers/algebra.py
index 8c97eccc..50af84be 100644
--- a/pygments/lexers/algebra.py
+++ b/pygments/lexers/algebra.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/ambient.py b/pygments/lexers/ambient.py
index abe61268..5d155c9c 100644
--- a/pygments/lexers/ambient.py
+++ b/pygments/lexers/ambient.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words, bygroups
from pygments.token import Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/amdgpu.py b/pygments/lexers/amdgpu.py
index 5356b225..428fff80 100644
--- a/pygments/lexers/amdgpu.py
+++ b/pygments/lexers/amdgpu.py
@@ -8,11 +8,11 @@
:license: BSD, see LICENSE for details.
"""
+import regex as re
+
from pygments.lexer import RegexLexer, words
from pygments.token import Name, Text, Keyword, Whitespace, Number, Comment
-import re
-
__all__ = ['AMDGPULexer']
diff --git a/pygments/lexers/apdlexer.py b/pygments/lexers/apdlexer.py
index 74ef7511..309cbfd2 100644
--- a/pygments/lexers/apdlexer.py
+++ b/pygments/lexers/apdlexer.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words
from pygments.token import Comment, Keyword, Name, Number, Operator, \
diff --git a/pygments/lexers/asc.py b/pygments/lexers/asc.py
index 41544673..7de2e40e 100644
--- a/pygments/lexers/asc.py
+++ b/pygments/lexers/asc.py
@@ -7,7 +7,8 @@
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-import re
+
+import regex as re
from pygments.lexer import RegexLexer, bygroups
from pygments.token import Comment, Generic, Name, Operator, String, Whitespace
diff --git a/pygments/lexers/asm.py b/pygments/lexers/asm.py
index 024b9ead..0e5a9753 100644
--- a/pygments/lexers/asm.py
+++ b/pygments/lexers/asm.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, words, \
DelegatingLexer, default
diff --git a/pygments/lexers/basic.py b/pygments/lexers/basic.py
index e726e05e..4584cd8c 100644
--- a/pygments/lexers/basic.py
+++ b/pygments/lexers/basic.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, default, words, include
from pygments.token import Comment, Error, Keyword, Name, Number, \
diff --git a/pygments/lexers/bibtex.py b/pygments/lexers/bibtex.py
index cbc5a8e9..ff8c2245 100644
--- a/pygments/lexers/bibtex.py
+++ b/pygments/lexers/bibtex.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, default, \
words
diff --git a/pygments/lexers/business.py b/pygments/lexers/business.py
index 45c653df..e1079569 100644
--- a/pygments/lexers/business.py
+++ b/pygments/lexers/business.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/c_cpp.py b/pygments/lexers/c_cpp.py
index 65f3c4bc..dd0bbbe6 100644
--- a/pygments/lexers/c_cpp.py
+++ b/pygments/lexers/c_cpp.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, \
this, inherit, default, words
diff --git a/pygments/lexers/c_like.py b/pygments/lexers/c_like.py
index 96a32260..90ee2872 100644
--- a/pygments/lexers/c_like.py
+++ b/pygments/lexers/c_like.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, inherit, words, \
default
diff --git a/pygments/lexers/comal.py b/pygments/lexers/comal.py
index 258d32e9..9f93c72e 100644
--- a/pygments/lexers/comal.py
+++ b/pygments/lexers/comal.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, words
from pygments.token import Comment, Whitespace, Operator, Keyword, String, \
diff --git a/pygments/lexers/configs.py b/pygments/lexers/configs.py
index e04c722e..c2c58781 100644
--- a/pygments/lexers/configs.py
+++ b/pygments/lexers/configs.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import ExtendedRegexLexer, RegexLexer, default, words, \
bygroups, include, using, line_re
diff --git a/pygments/lexers/crystal.py b/pygments/lexers/crystal.py
index 2a0238e8..aa331df5 100644
--- a/pygments/lexers/crystal.py
+++ b/pygments/lexers/crystal.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import ExtendedRegexLexer, include, bygroups, default, \
words, line_re
diff --git a/pygments/lexers/csound.py b/pygments/lexers/csound.py
index 014a6f57..c54470e9 100644
--- a/pygments/lexers/csound.py
+++ b/pygments/lexers/csound.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, default, include, using, words
from pygments.token import Comment, Error, Keyword, Name, Number, Operator, Punctuation, \
diff --git a/pygments/lexers/css.py b/pygments/lexers/css.py
index 4d7cb46f..a5d55872 100644
--- a/pygments/lexers/css.py
+++ b/pygments/lexers/css.py
@@ -8,9 +8,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
import copy
+import regex as re
+
from pygments.lexer import ExtendedRegexLexer, RegexLexer, include, bygroups, \
default, words, inherit
from pygments.token import Comment, Operator, Keyword, Name, String, Number, \
diff --git a/pygments/lexers/dalvik.py b/pygments/lexers/dalvik.py
index 4380f0e0..aa9a198f 100644
--- a/pygments/lexers/dalvik.py
+++ b/pygments/lexers/dalvik.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups
from pygments.token import Keyword, Text, Comment, Name, String, Number, \
diff --git a/pygments/lexers/diff.py b/pygments/lexers/diff.py
index 6a7ba2f3..985a4bd7 100644
--- a/pygments/lexers/diff.py
+++ b/pygments/lexers/diff.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, Generic, \
diff --git a/pygments/lexers/dotnet.py b/pygments/lexers/dotnet.py
index b8317b8c..7ab42280 100644
--- a/pygments/lexers/dotnet.py
+++ b/pygments/lexers/dotnet.py
@@ -7,7 +7,8 @@
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-import re
+
+import regex as re
from pygments.lexer import RegexLexer, DelegatingLexer, bygroups, include, \
using, this, default, words
diff --git a/pygments/lexers/dsls.py b/pygments/lexers/dsls.py
index 34e9b55f..8a502a1f 100644
--- a/pygments/lexers/dsls.py
+++ b/pygments/lexers/dsls.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import ExtendedRegexLexer, RegexLexer, bygroups, words, \
include, default, this, using, combined
diff --git a/pygments/lexers/dylan.py b/pygments/lexers/dylan.py
index 4d0acb90..95222e75 100644
--- a/pygments/lexers/dylan.py
+++ b/pygments/lexers/dylan.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, \
default, line_re
diff --git a/pygments/lexers/ecl.py b/pygments/lexers/ecl.py
index e092997a..d141cd17 100644
--- a/pygments/lexers/ecl.py
+++ b/pygments/lexers/ecl.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, words
from pygments.token import Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/erlang.py b/pygments/lexers/erlang.py
index c14cbe56..8610c1ae 100644
--- a/pygments/lexers/erlang.py
+++ b/pygments/lexers/erlang.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, bygroups, words, do_insertions, \
include, default, line_re
diff --git a/pygments/lexers/ezhil.py b/pygments/lexers/ezhil.py
index caa52d54..c9b694f4 100644
--- a/pygments/lexers/ezhil.py
+++ b/pygments/lexers/ezhil.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words
from pygments.token import Keyword, Comment, Name, String, Number, \
diff --git a/pygments/lexers/forth.py b/pygments/lexers/forth.py
index 2207908b..30fcf845 100644
--- a/pygments/lexers/forth.py
+++ b/pygments/lexers/forth.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups
from pygments.token import Text, Comment, Keyword, Name, String, Number, \
diff --git a/pygments/lexers/fortran.py b/pygments/lexers/fortran.py
index d45581ac..b0bd407a 100644
--- a/pygments/lexers/fortran.py
+++ b/pygments/lexers/fortran.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, include, words, using, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/foxpro.py b/pygments/lexers/foxpro.py
index 578c22a0..d6582fc1 100644
--- a/pygments/lexers/foxpro.py
+++ b/pygments/lexers/foxpro.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer
from pygments.token import Punctuation, Text, Comment, Operator, Keyword, \
diff --git a/pygments/lexers/gdscript.py b/pygments/lexers/gdscript.py
index 0bfb43f4..993ca072 100644
--- a/pygments/lexers/gdscript.py
+++ b/pygments/lexers/gdscript.py
@@ -11,7 +11,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, default, words, \
combined
diff --git a/pygments/lexers/graph.py b/pygments/lexers/graph.py
index 69e5bf15..8a94ff03 100644
--- a/pygments/lexers/graph.py
+++ b/pygments/lexers/graph.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, this, words
from pygments.token import Keyword, Punctuation, Comment, Operator, Name,\
diff --git a/pygments/lexers/gsql.py b/pygments/lexers/gsql.py
index 8c7674de..6d5d8409 100755
--- a/pygments/lexers/gsql.py
+++ b/pygments/lexers/gsql.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, this, words
from pygments.token import Keyword, Punctuation, Comment, Operator, Name, \
diff --git a/pygments/lexers/haskell.py b/pygments/lexers/haskell.py
index 1840a8b2..d16b15b7 100644
--- a/pygments/lexers/haskell.py
+++ b/pygments/lexers/haskell.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, \
default, include, inherit, line_re
diff --git a/pygments/lexers/haxe.py b/pygments/lexers/haxe.py
index 1d9c6f50..5c6658f0 100644
--- a/pygments/lexers/haxe.py
+++ b/pygments/lexers/haxe.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import ExtendedRegexLexer, RegexLexer, include, bygroups, \
default
diff --git a/pygments/lexers/hdl.py b/pygments/lexers/hdl.py
index c3be3a51..9604d3e6 100644
--- a/pygments/lexers/hdl.py
+++ b/pygments/lexers/hdl.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, include, using, this, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/html.py b/pygments/lexers/html.py
index 1c465048..00b4b502 100644
--- a/pygments/lexers/html.py
+++ b/pygments/lexers/html.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, bygroups, \
default, using
diff --git a/pygments/lexers/idl.py b/pygments/lexers/idl.py
index d24f8cdd..8e386591 100644
--- a/pygments/lexers/idl.py
+++ b/pygments/lexers/idl.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, words, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
diff --git a/pygments/lexers/igor.py b/pygments/lexers/igor.py
index 28b6b359..0bb1b337 100644
--- a/pygments/lexers/igor.py
+++ b/pygments/lexers/igor.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, words
from pygments.token import Text, Comment, Keyword, Name, String, Whitespace
diff --git a/pygments/lexers/inferno.py b/pygments/lexers/inferno.py
index a3bee4ff..8fff2af1 100644
--- a/pygments/lexers/inferno.py
+++ b/pygments/lexers/inferno.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, default
from pygments.token import Punctuation, Comment, Operator, Keyword, \
diff --git a/pygments/lexers/installers.py b/pygments/lexers/installers.py
index e2013b21..691ec113 100644
--- a/pygments/lexers/installers.py
+++ b/pygments/lexers/installers.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, this, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/int_fiction.py b/pygments/lexers/int_fiction.py
index a31a1e31..5fea37ee 100644
--- a/pygments/lexers/int_fiction.py
+++ b/pygments/lexers/int_fiction.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, \
this, default, words
diff --git a/pygments/lexers/javascript.py b/pygments/lexers/javascript.py
index eed71f95..04523822 100644
--- a/pygments/lexers/javascript.py
+++ b/pygments/lexers/javascript.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import bygroups, combined, default, do_insertions, include, \
inherit, Lexer, RegexLexer, this, using, words, line_re
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py
index ddfc25df..eec10053 100644
--- a/pygments/lexers/jvm.py
+++ b/pygments/lexers/jvm.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, \
this, combined, default, words
diff --git a/pygments/lexers/lilypond.py b/pygments/lexers/lilypond.py
index c39e0b03..584831ab 100644
--- a/pygments/lexers/lilypond.py
+++ b/pygments/lexers/lilypond.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import bygroups, default, inherit, words
from pygments.lexers.lisp import SchemeLexer
diff --git a/pygments/lexers/lisp.py b/pygments/lexers/lisp.py
index 2b91b99d..8280901b 100644
--- a/pygments/lexers/lisp.py
+++ b/pygments/lexers/lisp.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, words, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/make.py b/pygments/lexers/make.py
index e573d519..a68e011d 100644
--- a/pygments/lexers/make.py
+++ b/pygments/lexers/make.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, include, bygroups, \
do_insertions, using
diff --git a/pygments/lexers/markup.py b/pygments/lexers/markup.py
index 47feaeb6..8f742d92 100644
--- a/pygments/lexers/markup.py
+++ b/pygments/lexers/markup.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexers.html import XmlLexer
from pygments.lexers.javascript import JavascriptLexer
diff --git a/pygments/lexers/matlab.py b/pygments/lexers/matlab.py
index 058661ee..0d5e2fd7 100644
--- a/pygments/lexers/matlab.py
+++ b/pygments/lexers/matlab.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, bygroups, default, words, \
do_insertions, include
diff --git a/pygments/lexers/maxima.py b/pygments/lexers/maxima.py
index 214e24e7..a5b94417 100644
--- a/pygments/lexers/maxima.py
+++ b/pygments/lexers/maxima.py
@@ -10,7 +10,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/mime.py b/pygments/lexers/mime.py
index 0a2db093..57a78de3 100644
--- a/pygments/lexers/mime.py
+++ b/pygments/lexers/mime.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include
from pygments.lexers import get_lexer_for_mimetype
diff --git a/pygments/lexers/ml.py b/pygments/lexers/ml.py
index bd558c31..923137ac 100644
--- a/pygments/lexers/ml.py
+++ b/pygments/lexers/ml.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, default, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/modeling.py b/pygments/lexers/modeling.py
index 56448f50..f862bcd2 100644
--- a/pygments/lexers/modeling.py
+++ b/pygments/lexers/modeling.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, default
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/modula2.py b/pygments/lexers/modula2.py
index a94d4863..a9fe5478 100644
--- a/pygments/lexers/modula2.py
+++ b/pygments/lexers/modula2.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include
from pygments.util import get_bool_opt, get_list_opt
diff --git a/pygments/lexers/ncl.py b/pygments/lexers/ncl.py
index 30cc510f..5cc6b56f 100644
--- a/pygments/lexers/ncl.py
+++ b/pygments/lexers/ncl.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/nimrod.py b/pygments/lexers/nimrod.py
index bf5c948c..9b2ce229 100644
--- a/pygments/lexers/nimrod.py
+++ b/pygments/lexers/nimrod.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, default, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/nix.py b/pygments/lexers/nix.py
index 83731c7b..4da9a0b2 100644
--- a/pygments/lexers/nix.py
+++ b/pygments/lexers/nix.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/oberon.py b/pygments/lexers/oberon.py
index da7a2484..f6762288 100644
--- a/pygments/lexers/oberon.py
+++ b/pygments/lexers/oberon.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/objective.py b/pygments/lexers/objective.py
index c9c4278f..6ad2efb9 100644
--- a/pygments/lexers/objective.py
+++ b/pygments/lexers/objective.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using, this, words, \
inherit, default
diff --git a/pygments/lexers/parasail.py b/pygments/lexers/parasail.py
index de50c65b..6c95c992 100644
--- a/pygments/lexers/parasail.py
+++ b/pygments/lexers/parasail.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/parsers.py b/pygments/lexers/parsers.py
index 20a0cc31..f2b25df2 100644
--- a/pygments/lexers/parsers.py
+++ b/pygments/lexers/parsers.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, DelegatingLexer, \
include, bygroups, using
diff --git a/pygments/lexers/pascal.py b/pygments/lexers/pascal.py
index 63b887ad..a0f0d71b 100644
--- a/pygments/lexers/pascal.py
+++ b/pygments/lexers/pascal.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer
from pygments.util import get_bool_opt, get_list_opt
diff --git a/pygments/lexers/perl.py b/pygments/lexers/perl.py
index 3689fc7a..b53d8004 100644
--- a/pygments/lexers/perl.py
+++ b/pygments/lexers/perl.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, bygroups, \
using, this, default, words
diff --git a/pygments/lexers/phix.py b/pygments/lexers/phix.py
index b292aa53..fac9bd44 100644
--- a/pygments/lexers/phix.py
+++ b/pygments/lexers/phix.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/php.py b/pygments/lexers/php.py
index 61d552ab..c1167055 100644
--- a/pygments/lexers/php.py
+++ b/pygments/lexers/php.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, include, bygroups, default, \
using, this, words, do_insertions, line_re
diff --git a/pygments/lexers/prolog.py b/pygments/lexers/prolog.py
index 2cdceedd..988974f6 100644
--- a/pygments/lexers/prolog.py
+++ b/pygments/lexers/prolog.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/python.py b/pygments/lexers/python.py
index b959525a..86300b75 100644
--- a/pygments/lexers/python.py
+++ b/pygments/lexers/python.py
@@ -8,9 +8,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
import keyword
+import regex as re
+
from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, \
default, words, combined, do_insertions, this, line_re
from pygments.util import get_bool_opt, shebang_matches
diff --git a/pygments/lexers/qlik.py b/pygments/lexers/qlik.py
index bb4defd6..ee0cb517 100644
--- a/pygments/lexers/qlik.py
+++ b/pygments/lexers/qlik.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, words
from pygments.token import Comment, Keyword, Name, Number, Operator, \
diff --git a/pygments/lexers/r.py b/pygments/lexers/r.py
index 539e3802..1339a51f 100644
--- a/pygments/lexers/r.py
+++ b/pygments/lexers/r.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer, RegexLexer, include, do_insertions
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/rdf.py b/pygments/lexers/rdf.py
index 3919a9b1..9f23f686 100644
--- a/pygments/lexers/rdf.py
+++ b/pygments/lexers/rdf.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, default
from pygments.token import Keyword, Punctuation, String, Number, Operator, \
diff --git a/pygments/lexers/rebol.py b/pygments/lexers/rebol.py
index 7d363dd5..917f654b 100644
--- a/pygments/lexers/rebol.py
+++ b/pygments/lexers/rebol.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/resource.py b/pygments/lexers/resource.py
index 2e6b2ddc..847f8dfa 100644
--- a/pygments/lexers/resource.py
+++ b/pygments/lexers/resource.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, bygroups, words
from pygments.token import Comment, String, Number, Operator, Text, \
diff --git a/pygments/lexers/templates.py b/pygments/lexers/templates.py
index ecdd6dbd..3463326e 100644
--- a/pygments/lexers/templates.py
+++ b/pygments/lexers/templates.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexers.html import HtmlLexer, XmlLexer
from pygments.lexers.javascript import JavascriptLexer, LassoLexer
diff --git a/pygments/lexers/teraterm.py b/pygments/lexers/teraterm.py
index a4da2a2b..7f3daf7f 100644
--- a/pygments/lexers/teraterm.py
+++ b/pygments/lexers/teraterm.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups
from pygments.token import Text, Comment, Operator, Name, String, \
diff --git a/pygments/lexers/textedit.py b/pygments/lexers/textedit.py
index 14884bbd..3005eac6 100644
--- a/pygments/lexers/textedit.py
+++ b/pygments/lexers/textedit.py
@@ -8,9 +8,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
from bisect import bisect
+import regex as re
+
from pygments.lexer import RegexLexer, bygroups, default, include, this, using
from pygments.lexers.python import PythonLexer
from pygments.token import Comment, Keyword, Name, Number, Operator, \
diff --git a/pygments/lexers/textfmts.py b/pygments/lexers/textfmts.py
index b6f635c7..cea7ffc2 100644
--- a/pygments/lexers/textfmts.py
+++ b/pygments/lexers/textfmts.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexers import guess_lexer, get_lexer_by_name
from pygments.lexer import RegexLexer, bygroups, default, include
diff --git a/pygments/lexers/tnt.py b/pygments/lexers/tnt.py
index e0e205da..1a875948 100644
--- a/pygments/lexers/tnt.py
+++ b/pygments/lexers/tnt.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import Lexer
from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
diff --git a/pygments/lexers/typoscript.py b/pygments/lexers/typoscript.py
index 737169a9..abb42d96 100644
--- a/pygments/lexers/typoscript.py
+++ b/pygments/lexers/typoscript.py
@@ -17,7 +17,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, using
from pygments.token import Text, Comment, Name, String, Number, \
diff --git a/pygments/lexers/ul4.py b/pygments/lexers/ul4.py
index 1530a52a..db20c049 100644
--- a/pygments/lexers/ul4.py
+++ b/pygments/lexers/ul4.py
@@ -10,7 +10,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, DelegatingLexer, bygroups, words, include
from pygments.token import Comment, Text, Keyword, String, Number, Literal, \
diff --git a/pygments/lexers/unicon.py b/pygments/lexers/unicon.py
index 3d7311ab..b42b768e 100644
--- a/pygments/lexers/unicon.py
+++ b/pygments/lexers/unicon.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, include, bygroups, words, using, this
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/urbi.py b/pygments/lexers/urbi.py
index f197d590..40fd2e5e 100644
--- a/pygments/lexers/urbi.py
+++ b/pygments/lexers/urbi.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import ExtendedRegexLexer, words
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
diff --git a/pygments/lexers/webmisc.py b/pygments/lexers/webmisc.py
index 1042c774..dcf272f6 100644
--- a/pygments/lexers/webmisc.py
+++ b/pygments/lexers/webmisc.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments.lexer import RegexLexer, ExtendedRegexLexer, include, bygroups, \
default, using
diff --git a/pygments/lexers/wowtoc.py b/pygments/lexers/wowtoc.py
index 320ae011..a557aab5 100644
--- a/pygments/lexers/wowtoc.py
+++ b/pygments/lexers/wowtoc.py
@@ -10,8 +10,6 @@
:license: BSD, see LICENSE for details.
"""
-import re
-
from pygments.lexer import RegexLexer, bygroups
from pygments.token import Comment, Name, Text, Punctuation, String, Keyword
diff --git a/pygments/modeline.py b/pygments/modeline.py
index 43630835..5bb79f65 100644
--- a/pygments/modeline.py
+++ b/pygments/modeline.py
@@ -8,7 +8,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
__all__ = ['get_filetype_from_buffer']
diff --git a/pygments/regexopt.py b/pygments/regexopt.py
index ae007919..d711149f 100644
--- a/pygments/regexopt.py
+++ b/pygments/regexopt.py
@@ -9,12 +9,13 @@
:license: BSD, see LICENSE for details.
"""
-import re
-from re import escape
from os.path import commonprefix
from itertools import groupby
from operator import itemgetter
+import regex as re
+from regex import escape
+
CS_ESCAPE = re.compile(r'[\[\^\\\-\]]')
FIRST_ELEMENT = itemgetter(0)
diff --git a/pygments/scanner.py b/pygments/scanner.py
index d47ed482..bdb9d2fa 100644
--- a/pygments/scanner.py
+++ b/pygments/scanner.py
@@ -14,7 +14,8 @@
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
-import re
+
+import regex as re
class EndOfText(RuntimeError):
diff --git a/pygments/util.py b/pygments/util.py
index 8032962d..6a7be911 100644
--- a/pygments/util.py
+++ b/pygments/util.py
@@ -8,9 +8,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
from io import TextIOWrapper
+import regex as re
+
split_path_re = re.compile(r'[/\\ ]')
doctype_lookup_re = re.compile(r'''
diff --git a/requirements.txt b/requirements.txt
index be5330a8..dfd84dea 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
+regex
pytest-cov
pytest-randomly
pytest>=7.0
diff --git a/scripts/check_sources.py b/scripts/check_sources.py
index 1feb1a33..26284f17 100755
--- a/scripts/check_sources.py
+++ b/scripts/check_sources.py
@@ -12,11 +12,12 @@
import io
import os
-import re
import sys
import getopt
from os.path import join, splitext, abspath
+import regex as re
+
checkers = {}
diff --git a/scripts/gen_mapfiles.py b/scripts/gen_mapfiles.py
index a5aed0ca..7da79c65 100644
--- a/scripts/gen_mapfiles.py
+++ b/scripts/gen_mapfiles.py
@@ -10,9 +10,10 @@
from importlib import import_module
from pathlib import Path
-import re
import sys
+import regex as re
+
top_src_dir = Path(__file__).parent.parent
pygments_package = top_src_dir / 'pygments'
sys.path.insert(0, str(pygments_package.parent.resolve()))
diff --git a/scripts/get_vimkw.py b/scripts/get_vimkw.py
index 0b2d82ec..e5d70edb 100644
--- a/scripts/get_vimkw.py
+++ b/scripts/get_vimkw.py
@@ -1,4 +1,4 @@
-import re
+import regex as re
from pygments.util import format_lines
diff --git a/scripts/vim2pygments.py b/scripts/vim2pygments.py
index ec9b63b7..42d7d52d 100755
--- a/scripts/vim2pygments.py
+++ b/scripts/vim2pygments.py
@@ -11,10 +11,11 @@
"""
import sys
-import re
from os import path
from io import StringIO
+import regex as re
+
split_re = re.compile(r'(?<!\\)\s+')
SCRIPT_NAME = 'Vim Colorscheme Converter'
diff --git a/tests/examplefiles/ezhil/ezhil_primefactors.n.output b/tests/examplefiles/ezhil/ezhil_primefactors.n.output
index fdca731c..87f4e27b 100644
--- a/tests/examplefiles/ezhil/ezhil_primefactors.n.output
+++ b/tests/examplefiles/ezhil/ezhil_primefactors.n.output
@@ -345,7 +345,7 @@
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
-'பட்டியல்' Name
+'பட்டியல்' Name.Builtin
'(' Punctuation
')' Punctuation
'\n' Text
@@ -457,7 +457,7 @@
'\n' Text
' ' Text.Whitespace
-'பின்இணை' Name
+'பின்இணை' Name.Builtin
'(' Punctuation
'கூறுகள்' Name
',' Operator
@@ -586,7 +586,7 @@
'\n' Text
' ' Text.Whitespace
-'பின்இணை' Name
+'பின்இணை' Name.Builtin
'(' Punctuation
'கூறுகள்' Name
',' Operator
@@ -723,7 +723,7 @@
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
-'பட்டியல்' Name
+'பட்டியல்' Name.Builtin
'(' Punctuation
')' Punctuation
'\n' Text
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py
index c05fd01a..a0f28002 100644
--- a/tests/test_cmdline.py
+++ b/tests/test_cmdline.py
@@ -8,12 +8,13 @@
import io
import os
-import re
import sys
import tempfile
from io import BytesIO
from os import path
+import regex as re
+
import pytest
from pytest import raises
diff --git a/tests/test_html_formatter.py b/tests/test_html_formatter.py
index e1a02b24..541ccf06 100644
--- a/tests/test_html_formatter.py
+++ b/tests/test_html_formatter.py
@@ -7,11 +7,12 @@
"""
import os
-import re
import tempfile
from io import StringIO
from os import path
+import regex as re
+
import pytest
from pygments.formatters import HtmlFormatter, NullFormatter
diff --git a/tests/test_pangomarkup_formatter.py b/tests/test_pangomarkup_formatter.py
index e4685466..4152ccba 100644
--- a/tests/test_pangomarkup_formatter.py
+++ b/tests/test_pangomarkup_formatter.py
@@ -6,7 +6,7 @@
:license: BSD, see LICENSE for details.
"""
-import re
+import regex as re
from pygments import highlight
from pygments.formatters import PangoMarkupFormatter
diff --git a/tests/test_regexopt.py b/tests/test_regexopt.py
index 2116467e..e459066e 100644
--- a/tests/test_regexopt.py
+++ b/tests/test_regexopt.py
@@ -6,10 +6,11 @@
:license: BSD, see LICENSE for details.
"""
-import re
import random
from itertools import combinations_with_replacement
+import regex as re
+
from pygments.regexopt import regex_opt
ALPHABET = ['a', 'b', 'c', 'd', 'e']
diff --git a/tests/test_terminal_formatter.py b/tests/test_terminal_formatter.py
index c1a7ec7b..6e936e7b 100644
--- a/tests/test_terminal_formatter.py
+++ b/tests/test_terminal_formatter.py
@@ -6,9 +6,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
from io import StringIO
+import regex as re
+
from pygments.lexers.sql import PlPgsqlLexer
from pygments.formatters import TerminalFormatter, Terminal256Formatter, \
HtmlFormatter, LatexFormatter
diff --git a/tests/test_unistring.py b/tests/test_unistring.py
index 65fb1fc5..03f4b89a 100644
--- a/tests/test_unistring.py
+++ b/tests/test_unistring.py
@@ -6,9 +6,10 @@
:license: BSD, see LICENSE for details.
"""
-import re
import random
+import regex as re
+
from pygments import unistring as uni