выход из вопросительного знака в regex JavaScript

Вы можете использовать foldLeft для объединения двух карт одного типа

def merge[A, B](a: Map[A, B], b: Map[A, B])(mergef: (B, Option[B]) => B): Map[A, B] = {
  val (big, small) = if (a.size > b.size) (a, b) else (b, a)
  small.foldLeft(big) { case (z, (k, v)) => z + (k -> mergef(v, z.get(k))) }
}

def mergeIntSum[A](a: Map[A, Int], b: Map[A, Int]): Map[A, Int] =
  merge(a, b)((v1, v2) => v2.map(_ + v1).getOrElse(v1))

Пример:

val a = Map("a" -> 1, "b" -> 5, "c" -> 6)
val b = Map("a" -> 4, "z" -> 8)
mergeIntSum(a, b)
res0: Map[String,Int] = Map(a -> 5, b -> 5, c -> 6, z -> 8)
76
задан svlasov 3 April 2015 в 20:10
поделиться

3 ответа

Вам нужно экранировать его двумя обратными косыми чертами

\\?

Подробнее см. Здесь:

http://www.trans4mind.com/personal_development/JavaScript/Regular%20Expressions%20Simple% 20Usage.htm

127
ответ дан 24 November 2019 в 11:14
поделиться

Вы должны использовать двойной слеш:

var regex = new RegExp("\\?", "g");

Почему? потому что в JavaScript \ также используется для экранирования символов в строках, поэтому: "\?" становится: "?"

И "\\?" , становится "\?"

18
ответ дан 24 November 2019 в 11:14
поделиться

Вы можете ограничить свое регулярное выражение косой чертой вместо кавычек, а затем одной обратной косой чертой, чтобы избежать знака вопроса. Попробуйте следующее:

var gent = /I like your Apartment. Could we schedule a viewing\?/g;
15
ответ дан 24 November 2019 в 11:14
поделиться
Другие вопросы по тегам:

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