diff --git a/conda_verify/checks.py b/conda_verify/checks.py
index 1d8c170..a059c14 100644
--- a/conda_verify/checks.py
+++ b/conda_verify/checks.py
@@ -21,6 +21,8 @@ from conda_verify.utilities import (all_ascii, get_bad_seq, get_object_type,
                                     ensure_list, fullmatch)
 
 
+ver_spec_pat = '^(?:[><=]{0,2}(?:(?:[\d\*]+[!\._]?){1,})[+\w\*]*[|,]?){1,}'
+
 class CondaPackageCheck(object):
     """Create checks in order to validate conda package tarballs."""
 
@@ -40,7 +42,6 @@ class CondaPackageCheck(object):
         self.name_pat = re.compile(r'[a-z0-9_][a-z0-9_\-\.]*$')
         self.hash_pat = re.compile(r'[gh][0-9a-f]{5,}', re.I)
         self.version_pat = re.compile(r'[\w\.]+$')
-        self.ver_spec_pat = '^((==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)\,(==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)|(==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)|(\d+(\.\d+)*(\.)*\*?)\|(\d+(\.\d+)*(\.)*\*?)|(\d+(\.\d+)*(\.)*\*?))'
 
     @staticmethod
     def retrieve_package_name(path):
@@ -115,7 +116,8 @@ class CondaPackageCheck(object):
                 dependency_parts = dependency.split()
                 if len(dependency_parts) == 0:
                     return Error(self.path, 'C1113', 'Found empty dependencies in info/index.json')
-                elif len(dependency_parts) == 2 and not fullmatch(self.ver_spec_pat, dependency_parts[1]) or len(dependency_parts) > 3:
+                elif len(dependency_parts) == 2 and not fullmatch(ver_spec_pat,
+                                                    dependency_parts[1]) or len(dependency_parts) > 3:
                     return Error(self.path, 'C1114', 'Found invalid dependency "{}" in info/index.json' .format(dependency))
 
     def check_license_family(self):
@@ -376,7 +378,6 @@ class CondaRecipeCheck(object):
         self.recipe_dir = recipe_dir
         self.name_pat = re.compile(r'[a-z0-9_][a-z0-9_\-\.]*$')
         self.version_pat = re.compile(r'[\w\.]+$')
-        self.ver_spec_pat = '^((==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)\,(==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)|(==|>=|<=|<|>)(\d+(\.\d+)*(\.)*\*?)|(\d+(\.\d+)*(\.)*\*?)\|(\d+(\.\d+)*(\.)*\*?)|(\d+(\.\d+)*(\.)*\*?))'
         self.url_pat = re.compile(r'(ftp|http(s)?)://')
         self.hash_pat = {'md5': re.compile(r'[a-f0-9]{32}$'),
                          'sha1': re.compile(r'[a-f0-9]{40}$'),
@@ -461,7 +462,7 @@ class CondaRecipeCheck(object):
             if len(requirement_parts) == 0:
                 return Error(self.recipe_dir, 'C2113', 'Found empty dependencies in meta.yaml')
 
-            elif len(requirement_parts) >= 2 and not fullmatch(self.ver_spec_pat, requirement_parts[1]):
+            elif len(requirement_parts) >= 2 and not fullmatch(ver_spec_pat, requirement_parts[1]):
                 return Error(self.recipe_dir, 'C2114', u'Found invalid dependency "{}" in meta.yaml' .format(requirement))
 
         if len(build_requirements) != len(set(build_requirements)):

Pre-release versioning throws C1114
Prerelease versioning such as 2.0.0a0 will throw C1114 even though it's an acceptable versioning format.
diff --git a/tests/unit_tests/test_regex.py b/tests/unit_tests/test_regex.py
index 5f47f3c..bdfba76 100644
--- a/tests/unit_tests/test_regex.py
+++ b/tests/unit_tests/test_regex.py
@@ -16,19 +16,16 @@ def recipe_dir():
 
 
 def test_ver_spec_pat(package_dir, recipe_dir):
-    package = os.path.join(package_dir, 'testfile-0.0.30-py27_0.tar.bz2')
-    recipe = os.path.join(recipe_dir, 'valid_test_file')
-    metadata = utilities.render_metadata(recipe, None)
-    package_check = checks.CondaPackageCheck(package)
-    recipe_check = checks.CondaRecipeCheck(metadata, recipe)
-    package_ver_spec_pat = package_check.ver_spec_pat
-    recipe_ver_spec_pat = recipe_check.ver_spec_pat
+    package_ver_spec_pat = checks.ver_spec_pat
+    recipe_ver_spec_pat = checks.ver_spec_pat
 
     extra_spec = '>===3.5'
     ge_version = '>=1.2'
     eq_version = '==1.2.2'
     pin_version = '>=2,<3'
     pin_version_long = '<=2.0.0*,<3.0.0*'
+    prerelease_version = '2.0rc1'
+    pin_prerelease_version = '>=1.9.3,<2.0.0a0'
     or_version = '1.0|1.2.*'
     regex_version = '3.6*'
     python_version = '3.6.*'
@@ -38,6 +35,8 @@ def test_ver_spec_pat(package_dir, recipe_dir):
     assert utilities.fullmatch(package_ver_spec_pat, eq_version)
     assert utilities.fullmatch(package_ver_spec_pat, pin_version)
     assert utilities.fullmatch(package_ver_spec_pat, pin_version_long)
+    assert utilities.fullmatch(package_ver_spec_pat, prerelease_version)
+    assert utilities.fullmatch(package_ver_spec_pat, pin_prerelease_version)
     assert utilities.fullmatch(package_ver_spec_pat, or_version)
     assert utilities.fullmatch(package_ver_spec_pat, regex_version)
     assert utilities.fullmatch(package_ver_spec_pat, python_version)
@@ -47,6 +46,8 @@ def test_ver_spec_pat(package_dir, recipe_dir):
     assert utilities.fullmatch(recipe_ver_spec_pat, eq_version)
     assert utilities.fullmatch(recipe_ver_spec_pat, pin_version)
     assert utilities.fullmatch(recipe_ver_spec_pat, pin_version_long)
+    assert utilities.fullmatch(recipe_ver_spec_pat, prerelease_version)
+    assert utilities.fullmatch(recipe_ver_spec_pat, pin_prerelease_version)
     assert utilities.fullmatch(recipe_ver_spec_pat, or_version)
     assert utilities.fullmatch(recipe_ver_spec_pat, regex_version)
     assert utilities.fullmatch(recipe_ver_spec_pat, python_version)

pip install -e .
parse_log_pytest
pytest
pytest pytest-cov pytest-mock pytest-catchlog
apt-get update apt-get install -y gcc
3.6
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///opt/conda/conda-bld/attrs_1642510447205/work
certifi==2021.5.30
click==8.0.4
-e git+https://github.com/conda/conda-verify.git@0d50ea4da07553380b9077495f6ec863d062385c#egg=conda_verify
coverage==6.2
future==1.0.0
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1631916693255/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
Jinja2==3.0.3
MarkupSafe==2.0.1
more-itertools @ file:///tmp/build/80754af9/more-itertools_1637733554872/work
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
pluggy @ file:///tmp/build/80754af9/pluggy_1615976315926/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pyparsing @ file:///tmp/build/80754af9/pyparsing_1635766073266/work
pytest==6.2.4
pytest-catchlog==1.2.2
pytest-cov==4.0.0
pytest-mock==3.6.1
PyYAML==6.0.1
toml @ file:///tmp/build/80754af9/toml_1616166611790/work
tomli==1.2.3
typing_extensions @ file:///opt/conda/conda-bld/typing_extensions_1647553014482/work
zipp @ file:///tmp/build/80754af9/zipp_1633618647012/work

name: conda-verify
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=21.4.0=pyhd3eb1b0_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - importlib-metadata=4.8.1=py36h06a4308_0
  - importlib_metadata=4.8.1=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - more-itertools=8.12.0=pyhd3eb1b0_0
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=21.3=pyhd3eb1b0_0
  - pip=21.2.2=py36h06a4308_0
  - pluggy=0.13.1=py36h06a4308_0
  - py=1.11.0=pyhd3eb1b0_0
  - pyparsing=3.0.4=pyhd3eb1b0_0
  - pytest=6.2.4=py36h06a4308_2
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - toml=0.10.2=pyhd3eb1b0_0
  - typing_extensions=4.1.1=pyh06a4308_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.6.0=pyhd3eb1b0_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - click==8.0.4
      - coverage==6.2
      - future==1.0.0
      - jinja2==3.0.3
      - markupsafe==2.0.1
      - pytest-catchlog==1.2.2
      - pytest-cov==4.0.0
      - pytest-mock==3.6.1
      - pyyaml==6.0.1
      - tomli==1.2.3
prefix: /opt/conda/envs/conda-verify

tests/unit_tests/test_regex.py::test_ver_spec_pat
conda_verify/checks.py
conda_verify/checks.py