Как написать регулярное выражение для этого случая?

Вы можете использовать свойство Localizable Winforms.

CodeProject имеет приятную прогулку.

Мы распустили ресурсы в нескольких файлах ресурсов, некоторые из них были локализованы, а некоторые из них были стандартными (не отображаемые строки). Затем мы использовали Resourcemanager для управления строками.

-5
задан Saswat Arabinda 18 January 2019 в 04:31
поделиться

1 ответ

Глядя на ваши сэмплы, я чувствую, что вы хотите получить числа, разделенные запятыми, где некоторые из них могут быть ранжированы, как 1-2, а также иметь дополнительные пробелы между ними, а также в начале или конце строки. Вот регулярное выражение, которое вы можете использовать,

^\s*\d+(?:\s*-\s*\d+\s*)?(?:\s*,\s*\d+(?:\s*-\s*\d+)?)*\s*$

Объяснение:

  • ^ - Начало строки
  • \s* - необязательный пробел в начале ввода
  • \d+ - соответствует одному или нескольким просто числам
  • (?:\s*-\s*\d+\s*)? - это соответствует порядковому номеру, подобному этому -2, в котором могут быть пробелы и ? в конце означает, что ранжированная часть является необязательной.
  • (?:\s*,\s*\d+(?:\s*-\s*\d+)?)* - Эта часть регулярного выражения гарантирует, что числа могут быть разделены запятыми, и \d+(?:\s*-\s*\d+)? часть в них позволяет использовать числа 2-3, где ? в нем указывается, что это может быть просто чистое число, не имеющее ранжированной части, и * все это может быть ноль или более раз
  • \s* - необязательный пробел в конце ввода
  • $ - конец ввода

Live Demo

0
ответ дан Pushpesh Kumar Rajwanshi 18 January 2019 в 04:31
поделиться
Другие вопросы по тегам:

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