blob: 03119acf97010d8b5dead591e193577880d7f08d [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Regex that matches a version number at the beginning of a string.
final startVersion = RegExp(r'^' // Start at beginning.
r'(\d+)\.(\d+)\.(\d+)' // Version number.
r'(-([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?' // Pre-release.
r'(\+([0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*))?'); // Build.
/// Like [startVersion] but matches the entire string.
final completeVersion = RegExp('${startVersion.pattern}\$');
/// Parses a comparison operator ("<", ">", "<=", or ">=") at the beginning of
/// a string.
final startComparison = RegExp(r'^[<>]=?');
/// The "compatible with" operator.
const compatibleWithChar = '^';