Регулярное выражение для выбора фигурных скобок с числовыми значениями и игнорирования пробелов внутри фигурных скобок

#c# #regex

#c# #регулярное выражение

Вопрос:

У меня есть строка, которая выглядит примерно так

 (100)   (1000    )
  

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

Я смог выбрать (100), используя выражение

 (-?[0-9]d*(.d )?)
  

Но я не смог найти никакого способа выбрать (1000), где я могу игнорировать пробелы.

Кто-нибудь может мне помочь с этим?

Ответ №1:

Просто добавьте необязательные пробелы с обеих сторон:

 (s*-?[0-9]d*(.d )?s*)
  ^^^                  ^^^
  

Ответ №2:

Следующий шаблон должен совпадать в обоих случаях:

 (-?d (.d )?s*)
  

Если вы хотите также разрешить пробелы в начале, вы могли бы использовать это:

 (s*-?d (.d )?s*)
  

Примечание: d означает то же самое, что и [0-9]d* . Если бы вы действительно имели в виду [1-9]d* (запретить начальные нули), то вы бы хотели использовать это вместо d .