blob: 8829447fadf9b5757eec253a1a558d30468cdcf9 [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 = "^";