code: def extract_war_version(war):
      '''
      Extract the version from the war file name. There does not seem to be a
      standard for encoding the version into the `war file name`_
  
      .. _`war file name`: https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html
  
      Examples:
  
      .. code-block:: bash
  
          /path/salt-2015.8.6.war -> 2015.8.6
          /path/V6R2013xD5.war -> None
      '''
      basename = os.path.basename(war)
      war_package = os.path.splitext(basename)[0]  # remove '.war'
      version = re.findall("-([\\d.-]+)$", war_package)  # try semver
      return version[0] if version and len(version) == 1 else Nonf extract_war_version(war):
      '''
      Extract the version from the war file name. There does not seem to be a
      standard for encoding the version into the `war file name`_
  
      .. _`war file name`: https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html
  
      Examples:
  
      .. code-block:: bash
  
          /path/salt-2015.8.6.war -> 2015.8.6
          /path/V6R2013xD5.war -> None
      '''
      basename = os.path.basename(war)
      war_package = os.path.splitext(basename)[0]  # remove '.war'
      version = re.findall("-([\\d.-]+)$", war_package)  # try semver
      return version[0] if version and len(version) == 1 else None
docs: Extract the version from the war file name. There does not seem to be a
      standard for encoding the version into the `war file name`_
  
      .. _`war file name`: https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html
  
      Examples:
  
      .. code-block:: bash
  
          /path/salt-2015.8.6.war -> 2015.8.6
          /path/V6R2013xD5.war -> None