Улучшить этот regex о разделении цифры

После подключения вашего USB-накопителя к серверу, запустите в терминале LSBLK , вы увидите все устройства хранения, которые прикреплены к вашей машине. Вы можете найти там ваш USB-накопитель (обычно они называются / dev / sdb или / dev / sdc , но необходимо, чтобы повторно проверить это).

После этого вы должны установить его, чтобы иметь возможность прочитать / писать, например:

MOTE / DEV / SDB1 / MNT /

где / dev / sdb1 - ваш диск Имя, которое вы заметили через LSBLK , а / MNT - это путь, где вы хотите увидеть файловую систему вашего USB-накопителя.

0
03.05.2015, 14:50
3 ответа

На основании ваших результатов я предлагаю некоторые пункты для улучшения вашего регекса:

  • Вы можете явно совпадать в начале строки, используя ^
  • Если вы не используете группы сравнения, то вам не нужны скобки или использование не захватывающей группы ?:
  • \s включает в себя \t, поэтому вам нужен только \s.

Последний регекс может быть m/^(?:[+-]?\d+\.\d+)\s+(?:[+-]?\d+\. \d+)/

3
28.01.2020, 02:20

Это соответствует линиям, которые начинаются с двух необязательно подписанных чисел, имеющих десятичные части, с указанными номерами, разделенными Separted ASCII Whitespace. Кажется оптимальным и ясным, как он стоит.

1
28.01.2020, 02:20

Оптимизация I бы добавляла в предложения Cuonglm , если только для того, чтобы упростить регенцию для обслуживания:

m/^(?:[-+]?\d+\.\d+\s+){2}/

таким образом, вы можете сосредоточиться на любых дополнительных оптимизациях к Regex в одном месте.

Кроме того, если вы знаете, что номера являются правильными десятичными числами (т.е. ваши данные не содержат более одной десятичной точки в строке цифр):

m/^(?:[-+]?[\d.]+\s+){2}/
0
28.01.2020, 02:20

Теги

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