Regex соответствует только если он не начинается с определенной строки [duplicate]

Angular1

Для людей, которые используют AngularJS , может справиться с этой ситуацией, используя Promises.

Здесь it говорит,

Обещания могут использоваться для отключения асинхронных функций и позволяют объединять несколько функций вместе.

Вы можете найти приятное объяснение здесь .

Пример, найденный в docs , упомянутом ниже.

  promiseB = promiseA.then(
    function onSuccess(result) {
      return result + 1;
    }
    ,function onError(err) {
      //Handle error
    }
  );

 // promiseB will be resolved immediately after promiseA is resolved 
 // and its value will be the result of promiseA incremented by 1.

Angular2 and Later

In Angular2, посмотрите на следующий пример, но его рекомендовал использовать Observables с Angular2.

 search(term: string) {
     return this.http
  .get(`https://api.spotify.com/v1/search?q=${term}&type=artist`)
  .map((response) => response.json())
  .toPromise();

}

Вы можете использовать это таким образом,

search() {
    this.searchService.search(this.searchField.value)
      .then((result) => {
    this.result = result.artists.items;
  })
  .catch((error) => console.error(error));
}

См. здесь оригинал . Но TypScript не поддерживает native es6 Promises , если вы хотите его использовать, для этого вам может понадобиться плагин.

Кроме того, здесь представлены обещания spec определите здесь.

9
задан Thomas 31 July 2014 в 12:04
поделиться

2 ответа

Отрицательный Lookbehind (PCRE in R)

R использует механизм PCRE, который поддерживает lookbehind. Сделайте это:

grep("(?<!c)lo", subject, perl=TRUE, value=TRUE, ignore.case=TRUE);

Отрицательный lookbehind (?<!c) утверждает, что то, что предшествует текущей позиции, не является c

Вариант 2: проверка на письмо с надписью, включение -Insensitivity Inline

Учитывая ваш ввод, более общим вариантом было бы утверждать, что для lo не предшествует прописная буква:

grep("(?<![A-Z])(?i)lo", subject, perl=TRUE, value=TRUE);

Для этой опции мы используем встроенный модификатор (?i), чтобы включить нечувствительность к регистру, но только после того, как мы проверили, что заглавные буквы не предшествуют нашей позиции.

Ссылка

15
ответ дан zx81 27 August 2018 в 01:38
поделиться

Вы можете использовать отрицательный lookbehind:

grep("(?<!C)lo", v, ignore.case=T, perl=T) 

Это будет гарантировать, что строке не будет предшествовать C.

3
ответ дан Mowday 27 August 2018 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: