Regular Expressions 101

Community Patterns

22

Get path from any text

Created·2023-01-31 14:38
Updated·2023-07-23 20:17
Flavor·PCRE2 (PHP)
Recommended·
Get path (windows style) from any type of text (error message, e-mail corps ...), quoted or not. THIS IS THE SINGLE LINE VERSION ! If you want understand how it work or edit it, go https://regex101.com/r/7o2fyy Relative path are not supported The goal is to catch what "Look like" a path. See the limitations UNC path and prefix path like //./], [//?/] or [//./UNC/] are allowed some url path like [file:///C:/] or [file://] are allowed Catch path quoted with ["] and [']. But these quotes are include with the catch Quoted path is not concerned by limitations Limitations : (only unquoted path) [dot] and [space] is allowed, but not in a row [dot+space] or [space+dot at end of file name isn't catched INSIDE A NAME FILE (or last directory if it is a path to a directory) : [comma] is not supported (it stop the catch) after a first [dot], any [space] stop the catch after a [space], catch is stoped if next character is not a [letter], [digit] or [-] so, double [space] stop the catch Compatibility compatible PCRE, PCRE2 AutoHotkey : don't forget to escape "%" in "`%" /!\ Powershell and .Net /!\\ : this regex need some modification to be interpreted by powershell. You have to replace each (?&CapturGroupName) by \k. Use this powershell code to do this replacement : ` $powershellRegex = @' [Put here the regex to replace (?&CapturGroupName) with \k] '@ -replace '\(\?&(\w+)\)', '\k' ` This example code must return : [Put here the regex to replace \k with \k]
Submitted by nitrateag

Community Library Entry

0

Regular Expression
Created·2017-07-16 20:36
Flavor·PCRE (Legacy)

/
<h1>(?'TITLE'.*)<\/h1>.*<div class="bx_slide">\s*<ul[^>]*>\s*(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO1'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO2'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO3'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO4'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO5'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO6'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO7'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO8'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO9'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO10'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO11'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO12'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO13'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO14'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO15'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO16'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO17'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO18'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO19'[^']*)'\);"><\/span><\/span><\/li>\s*)?(?:<li data-value="\d*" style="width: 20%; padding-top: 20%;"><span class="cnt"><span class="cnt_item" style="background-image:url\('(?'PHOTO20'[^']*)'\);"><\/span><\/span><\/li>\s*)?<\/ul>\s*<\/div>.*<div class="item_price">\s*<span class="title">Цена:<\/span>.*<div class="item_current_price" id=".*">(?'PRICE'[\d ]*) руб\.<\/div>\s*<div class="item_economy_price" id=".*"(?: style="display: none")>(?:(?'DISCOUNT_PRICE'[\d ]*) руб\.)?<\/div>.*<\/div>.*<div class="item_info_section">.*<td class="prop-title">Бренд<\/td>\s*<td class="prop-value"><a href=".*">(?'MANUFACTURER'.*)<\/a><\/td>.*<td class="prop-title">Артикул<\/td>\s*<td class="prop-value">(?'VENDOR_CODE'.*)<\/td>.*<\/div>
/
gsuU
Open regex in editor

Description

no description available

Submitted by anonymous