Regular Expressions 101

Sponsors

Library entries

0
pcre

exp1

asdf
Submitted by anonymous - 18 hours ago
0
pcre2

T1

Reguljärt uttryck för att matcha T1
Submitted by Jonas Thor - 3 days ago
0
java

Other segment

Other segments
Submitted by Lufram - 3 days ago
0
java

Take segments to string

Take segments to string
Submitted by Lufram - 3 days ago
0
pcre2

URL 2

http https www - ww1 - ww999
Submitted by Andy - 3 days ago
0
pcre2

DwgBatch - Ändra datumformat

Kurs DwgBatch Ändra datumformat
Submitted by Jonas Thor - 5 days ago
0
pcre2

find supertype of

for express
Submitted by anonymous - 6 days ago
0
pcre2

Hardware ID

Checks whether the input is a hardware ID
Submitted by Justman10000 - 6 days ago
0
dotnet

Aus Mobile number

validates against multiple common formats
Submitted by anonymous - 7 days ago
0
java

Kyivstar phone number

Kyivstar phone number
Submitted by milka_vlad - 8 days ago
0
pcre2

MD highlight remover

Remove highlights from md files
Submitted by anonymous - 8 days ago

Get path from any text

Vote

0

Regular Expression
pcre2

/
(?############ Let's catch paths without "" or '' ############################ )(?<opening>(?# First, catch the starting path, the <opening> ################### )\b(?<montage>[a-zA-Z]:[\/\\])(?# montage = 'C:/' )|[\/\\][\/\\](?>(?# )[?.][\/\\](?:[^\/\\<>:"|?\n\r ]+[\/\\])?(?# '//[?or.]/xxxxx' or '//[?or.]/server/' )(?&montage)?(?# '//[?or.]/c:/' or '//[?or.]/server/c:/' )|(?!(?&montage)))(?# '//[addressIP/ or serverName/ but not C:/]' )|%\w+%[\/\\]?(?# '%EnvVariable%[/]' ))(?# So, <opening> catch : 'C:/' or '//[?or.]/[UNC/]C:/' or '//[?or.]/[UNC/]' or '//[next characters must be something other than C:/]' or '%EnvironementVariable%[/]' )(?:(?# now, we catch each directory name wich is between [/] ######################## )[^\/\\<>:"|?\n\r ,'](?# the first character should not be [ ,'] )[^\/\\<>:"|?\n\r]*(?# Any pathFrendly character )(?<![ ,'])(?# The last directory name's character must not be [ ,'] )[\/\\](?# End of directory name - who are between '/' - ))*(?# Catch most 'directoryName/' as possible )(?:(?# Lets catch the End path. There is a file ? a directory ? or just a useless '/' ? )(?=[^\/\\<>:"'|?\n\r;, ])(?#if next character is not pathFriendly or ' ' or [,'], we have reach the end of the path => we don't catch the last '/' and the the Regex end now. You can't catch fileName who begin by [,'] because they are probably a delimiter between 2 path. but '.' is allowed )(?:(?#If we are here, that mean there is a fileName or directoryName to catch ###### We will catch the last directoryName or the fileName without the extention ###### )(?:[^\/\\<>:"|?\n\r;, .](?# catch any character pathFriendly exept ' ' or [,.] )(?: (?=[\w\-]))?(?# If we find a ' ', we catch him if next charcter is not a delimiter. I see '-' after an ' ' not like a delimiter. )(?:\*(?!= ))?(?# If we find a '*', we stop the catch if next character is an ' ' )(?!(?&montage))(?# If we find a string who look like 'C:/', we stop the catch ))+(?# We catch theses word delimited by ' ' as much as possible ))?(?# it's possible the fileName have no name, but just an extention )(?:\.\w+(?# #### an extention begin by '.' and at least one none delimiter chracter ))*(?# we can add more extention until the first none '.' delimiter character. So, after the first '.' character inside a fileName, we cannot catch any ' ' character If we don't find one extention, so the filename is a directory name, and we stop the catch. ))(?# ############# END OF PATH CATCHING WITHOUT QUOTE "" and '' ####################### )|(?:(?# ######### Catching path quoted '' ########################### Path quoted '' is difficult because ['] is also a pathFrendly character )'(?&opening)(?# We catch .* between quote only if string start with an <opening> )(?=.*'\W|.*'$)(?# We catch .* between quote only if we are sure we will find end quote. End quote must be ['] and delimiter character or ['] and end string )(?:[^\/\\<>:'"|?\n\r]+(?# We take any pathFriendly character exept quote ['] )(?:'(?=\w))?(?# we catch quote ['] if next character is not a delimiter )[\/\\]?)*(?# Path quoted must respect this patern until end quote character ['] )')(?# end quoted '' path )|(?# ######### Catching path quoted "" ########################### )"(?&opening)(?# We catch .* between quote only if string start with an <opening> )(?=.*")(?# We catch .* between quote only if we are sure we will find end quote ["] )(?:[^\/\\<>:"|?\n\r]+(?# We take any pathFriendly character )[\/\\]?(?# pathFriendly characters can be is delimited by '\' ))*(?# Path quoted must respect this patern until end quote character )"(?# end quoted path )
/
g

Description

Loading markdown...
Submitted by nitrateag - 2 months ago