1. Python / Говнокод #7956

    −181

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    def main():
        iface = "eth0:"
        f = open("/proc/net/dev","r")
        lines = f.readlines()
        f.close()
        x = 0
        r = '\s+'+iface+'\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+\s+\d+'
        while x < len(lines):
            result = re.match(r, lines[x])
            print result
            x +=1

    Мсье знает толк в регулярках

    Запостил: cutwater, 23 Сентября 2011

    Комментарии (10) RSS

    • мсье очень терпелив при введении (\s+\d+){скоко-та,}
      Ответить
    • Ещё стрёмно одинарный бэкслэш в простых строках.
      Ответить
      • его же экранировать не надо?
        Ответить
        • Смотря что за ним.
          Ответить
          • если он в исходнике распознается как управляющий, то надо - ведь нужно, чтобы была регулярка именно со слэшами... и даже неважно, после него правильный символ для управляющей последовательности, или нет...
            Ответить
            • Это вы через мою голову себе отвечаете?
              Ответить
              • смысл моего вопроса "его же экранировать не надо?" в том, что, например в php управляющие последовательности вроде \n в строках между двойными кавычками интерпретируются, а между одинарными - оставляются как есть. "псевдопоследовательности" вроде \w оставляются как есть и в том и в том случае, но все равно лучше экранировать.
                Ответить
                • А-а-а. Ну, здесь то же самое.

                  В питоне одинарные и двойные кавычки совершенно равнозначны, дело вкуса. Чтобы не проинтерпретировался \n, нужно использовать raw-строки (r'\n'). \w останется «как есть» в любом случае, но тоже лучше заэкранировать ('\\w' или r'\w'). Просто для единообразия, да и список эскейп-последовательностей в питоне больше, чем в Си.
                  Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий