Как я могу игнорировать регистр в regex?

Вы можете передать второй аргумент .map() после обратного вызова. Это значение будет использоваться в качестве значения this при вызове обратного вызова. Таким образом, вы можете пройти через объект, который вы можете использовать для накопления количества повторений:

data.map(function(d, i) {
  if (!(d.value in this))
    this[d.value] = 0;
  else
    this[d.value] += 1;

  return [
    d.value + (this[d.value] ? " (" + this[d.value] + ")" : ""),
    d.count
  ];
}, {});

Начиная с пустого объекта, обратный вызов может отслеживать, сколько раз он видел каждую строку d.value , Когда он видит повтор, он может добавить спецификатор к строке.

Так вот, это не совсем соответствует тому, что вы просили, потому что оно рассматривает только одно значение за раз. Таким образом, в первый раз, когда он видит "Personal/Seeding", он не знает, что это дубликат, поэтому он не изменяется с помощью спецификатора. Второй раз через это, конечно.

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

13
задан Chad Birch 3 April 2009 в 22:21
поделиться

3 ответа

Серверная сторона, "(? i)" может использоваться, но это не работает клиентское. Посмотрите здесь для большего количества обсуждения и обходного решения.

т.е. "... (? i) (jpg|jpeg|gif|png|wpf |..."

24
ответ дан 1 December 2019 в 21:12
поделиться

В VisualBasic.NET можно использовать RegExOptions для игнорирования его случай:

Dim RegexObj As New Regex("([^.]+[.](jpg|jpeg|gif))", RegexOptions.IgnoreCase)
2
ответ дан 1 December 2019 в 21:12
поделиться

Согласно Опциям Регулярного выражения, это должно работать:

// Added LowerCase i:
ValidationExpression="(?i:[^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ...
1
ответ дан 1 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

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