brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 6522d42 Raw
52 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <regex>10 11// match_not_bol:12//     The first character in the sequence [first,last) shall be treated as13//     though it is not at the beginning of a line, so the character ^ in the14//     regular expression shall not match [first,first).15 16#include <regex>17#include <cassert>18#include "test_macros.h"19 20int main(int, char**)21{22    {23    std::string target = "foo";24    std::regex re("^foo");25    assert( std::regex_match(target, re));26    assert(!std::regex_match(target, re, std::regex_constants::match_not_bol));27    }28 29    {30    std::string target = "foo";31    std::regex re("foo");32    assert( std::regex_match(target, re));33    assert( std::regex_match(target, re, std::regex_constants::match_not_bol));34    }35 36    {37    std::string target = "fooby";38    std::regex re("^foo");39    assert( std::regex_search(target, re));40    assert(!std::regex_search(target, re, std::regex_constants::match_not_bol));41    }42 43    {44    std::string target = "fooby";45    std::regex re("foo");46    assert( std::regex_search(target, re));47    assert( std::regex_search(target, re, std::regex_constants::match_not_bol));48    }49 50  return 0;51}52