Чистые регулярные выражения Python

< command > |& tee filename # это создаст файл «filename» с статусом команды в качестве содержимого. Если файл уже существует, он удалит существующее содержимое и запишет статус команды.

< command > | tee >> filename # this добавит статус к файлу, но он не распечатает статус команды на стандартном_выпуске (screen).

Я хочу что-то напечатать, используя «эхо» на экране и добавив эти эхо-данные в файл

echo "hi there, Have to print this on screen and append to a file" 
16
задан Alan Moore 6 June 2009 в 10:50
поделиться

3 ответа

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

  • Пробелы в шаблоне игнорируются, за исключением тех случаев, когда они находятся в классе символов или им предшествует неэкранированная обратная косая черта.
  • Когда строка не содержит символа «#» ни в классе символов, ни предшествует неэкранированной обратной косой черте, все символы от крайнего левого символа «#» до конца строки игнорируются.

Следующие два оператора эквивалентны:

a = re.compile(r"""\d +  # the integral part
                   \.    # the decimal point
                   \d *  # some fractional digits""", re.X)

b = re.compile(r"\d+\.\d*")

(Взято из документации подробного режима )

28
ответ дан 30 November 2019 в 16:09
поделиться

Вы можете использовать комментарии в регулярных выражениях, что сделает их более читаемыми. Возьмем пример из http://gnosis.cx/publish/programming/regular_expressions.html :

/               # identify URLs within a text file
          [^="] # do not match URLs in IMG tags like:
                # <img src="http://mysite.com/mypic.png">
http|ftp|gopher # make sure we find a resource type
          :\/\/ # ...needs to be followed by colon-slash-slash
      [^ \n\r]+ # stuff other than space, newline, tab is in URL
    (?=[\s\.,]) # assert: followed by whitespace/period/comma 
/
2
ответ дан 30 November 2019 в 16:09
поделиться

Хотя предложение @Ayman по поводу re.VERBOSE - лучшая идея,

13
ответ дан 30 November 2019 в 16:09
поделиться
Другие вопросы по тегам:

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