August 2012
Intermediate to advanced
609 pages
19h 16m
English
You want to check whether a string looks like a valid path to a folder or file on the Microsoft Windows operating system. If the string turns out to hold a valid Windows path, then you also want to extract the drive, folder, and filename parts of the path separately.
\A (?<drive>[a-z]:)\\ (?<folder>(?:[^\\/:*?"<>|\r\n]+\\)*) (?<file>[^\\/:*?"<>|\r\n]*) \Z
| Regex options: Free-spacing, case insensitive |
| Regex flavors: .NET, Java 7, PCRE 7, Perl 5.10, Ruby 1.9 |
\A (?P<drive>[a-z]:)\\ (?P<folder>(?:[^\\/:*?"<>|\r\n]+\\)*) (?P<file>[^\\/:*?"<>|\r\n]*) \Z
| Regex options: Free-spacing, case insensitive |
| Regex flavors: PCRE 4 and later, Perl 5.10, Python |
\A ([a-z]:)\\ ((?:[^\\/:*?"<>|\r\n]+\\)*) ([^\\/:*?"<>|\r\n]*) \Z
| Regex options: Free-spacing, case insensitive |
| Regex flavors: .NET, Java, PCRE, Perl, Python, Ruby |
^([a-z]:)\\((?:[^\\/:*?"<>|\r\n]+\\)*)([^\\/:*?"<>|\r\n]*)$
| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python |
\A (?<drive>[a-z]:|\\\\[a-z0-9_.$●-]+\\[a-z0-9_.$●-]+)\\ (?<folder>(?:[^\\/:*?"<>|\r\n]+\\)*) (?<file>[^\\/:*?"<>|\r\n]*) \Z
| Regex options: Free-spacing, case insensitive |
| Regex flavors: .NET, Java 7, PCRE 7, Perl 5.10, Ruby 1.9 |
\A (?P<drive>[a-z]:|\\\\[a-z0-9_.$●-]+\\[a-z0-9_.$●-]+)\\ (?P<folder>(?:[^\\/:*?"<>|\r\n]+\\)*) (?P<file>[^\\/:*?"<>|\r\n]*) \Z
| Regex options: Free-spacing, case insensitive |
| Regex flavors: PCRE 4 and later, Perl 5.10, Python |