Автор Тема: Часто используемые выражения / шаблоны  (Прочитано 15749 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
В данной теме будут публиковаться частоиспользуемые регулярные выражения...



Извлечение имени файла с расширением с полного пути
Код: AutoIt [Выделить]
$sPath = "C:\Path\FileName.ext"
$sFileName = StringRegExpReplace($sPath, '^.*\\', '') ;FileName.ext


Извлечение только пути к файлу с полного пути (путь к родительскому каталогу)
Код: AutoIt [Выделить]
$sPath = "C:\Path\FileName.ext"
$sParentPath = StringRegExpReplace($sPath, '\\[^\\]*$', '') ;C:\Path


Извлечение текста находящегося между двумя подстроками/тегами
Код: AutoIt [Выделить]
$vTest = 'Hi, this is a <b>test,' & @CRLF & @TAB & 'very important test</b>'
$sRet = StringRegExpReplace($vTest, '.*<b>((?s).*)</b>.*', '\1')


Извлечение ссылки у параметра href
Код: AutoIt [Выделить]
$vTest = '<a href="http://test.com/it''s_my_page">test</a>'
;$vTest = "<a href='http://test.com/it""s_my_page'>test</a>"
;$vTest = "<a href=http://test.com/it""s_my_page>test</a>"

$sRet = StringRegExp($vTest, 'href\s*=\s*([''"])?([^\1\s]+?)(?:\1|>)', 3)

If UBound($sRet) > 1 Then
    ConsoleWrite($sRet[1] & @LF)
EndIf


Получение версии файла из многострочноого текста (без суффиксов-нулей)
Код: AutoIt [Выделить]
$vTest = 'some data' & @CRLF & 'version=1.10.0.0' & @CRLF & 'other data'
$sRet = StringRegExpReplace($vTest, '(?si).*?version=([0-9]+(?:[\d.]+[1-9]+0?|[0-9.]{2})?).*', '\1')

ConsoleWrite($sRet & @LF)


Сравнение версии файла
Код: AutoIt [Выделить]
If StringRegExpReplace(@AutoItVersion, '(?<!\d)(\d)(?!\d)', '0\1') < '03.03.12.00' Then
    MsgBox(16, 'Error', 'Require AutoIt 3.3.12.0 or later.')
EndIf


Удалить все строки в которых нет определенного символа
Код: AutoIt [Выделить]
#include<Array.au3>

$sText = "pip|1.2.0|1.2.0|false" & @CRLF _
        &"PowerShell|5.1.14409.20170510|5.1.14409.20170510|false" & @CRLF _
        &"hg fsghjdgsh ghj." & @CRLF _          ; строка будет удалена
        &"python3|3.6.2|3.6.2|false" & @CRLF _
        &"python3 3.6.2 false" & @CRLF _        ; строка будет удалена
        &"qbittorrent|3.3.15|3.3.15|false"

ConsoleWrite(StringRegExpReplace($sText, "(?m)^[^|]*($|\R)", ""))

« Последнее редактирование: Август 16, 2017, 15:33:03 от Garrett »


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Русское сообщество AutoIt

Часто используемые выражения / шаблоны
« Отправлен: Февраль 13, 2011, 00:16:11 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
45 Ответов
42834 Просмотров
Последний ответ Январь 18, 2012, 14:46:25
от CreatoR
17 Ответов
7249 Просмотров
Последний ответ Июнь 16, 2010, 21:15:58
от Can
3 Ответов
7287 Просмотров
Последний ответ Апрель 03, 2011, 00:25:26
от CreatoR
4 Ответов
3635 Просмотров
Последний ответ Январь 15, 2012, 23:43:48
от CreatoR
5 Ответов
3224 Просмотров
Последний ответ Апрель 10, 2013, 13:42:45
от Sky-WaLkeR
2 Ответов
787 Просмотров
Последний ответ Ноябрь 27, 2014, 13:13:26
от Ksaan
19 Ответов
4384 Просмотров
Последний ответ Февраль 26, 2015, 22:11:44
от AZJIO
9 Ответов
2415 Просмотров
Последний ответ Январь 06, 2016, 18:11:32
от Kasper
7 Ответов
1700 Просмотров
Последний ответ Февраль 17, 2016, 22:25:54
от Alofa
0 Ответов
560 Просмотров
Последний ответ Декабрь 11, 2016, 22:35:53
от vovka.pupkin