… | |
… | |
43 | qr{ (?<![^[:space:]]) ` ([^`']+) ' (?![^[:space:]]) }x, |
43 | qr{ (?<![^[:space:]]) ` ([^`']+) ' (?![^[:space:]]) }x, |
44 | |
44 | |
45 | qr{ (?<![^[:space:]]) ‘ ([^`']+) ’ (?![^[:space:]]) }x, |
45 | qr{ (?<![^[:space:]]) ‘ ([^`']+) ’ (?![^[:space:]]) }x, |
46 | qr{ (?<![^[:space:]]) “ ([^`']+) ” (?![^[:space:]]) }x, |
46 | qr{ (?<![^[:space:]]) “ ([^`']+) ” (?![^[:space:]]) }x, |
47 | |
47 | |
48 | qr{ (?<![^[:space:]]) (' [^[:space:]] [^']* ') }x, |
48 | qr{ (?<![^[:space:]]) (' [^[:space:]] [^']* ') }x, |
49 | qr{ (' [^']* [^[:space:]] ') (?![^[:space:]]) }x, |
49 | qr{ (' [^']* [^[:space:]] ') (?![^[:space:]]) }x, |
50 | qr{ (?<![^[:space:]]) (" [^[:space:]] [^"]* ") }x, |
50 | qr{ (?<![^[:space:]]) (" [^[:space:]] [^"]* ") }x, |
51 | qr{ (" [^"]* [^[:space:]] ") (?![^[:space:]]) }x, |
51 | qr{ (" [^"]* [^[:space:]] ") (?![^[:space:]]) }x, |
52 | |
52 | |
53 | qr{ \< ([^>]+) \> }x, |
53 | qr{ \< ([^\>]+) \> }x, |
54 | qr{ \( ([^)]+) \) }x, |
54 | qr{ \( ([^\)]+) \) }x, |
55 | qr{ \{ ([^}]+) \} }x, |
55 | qr{ \{ ([^\}]+) \} }x, |
56 | qr{ \[ ([^]]+) \] }x, |
56 | qr{ \[ ([^\]]+) \] }x, |
57 | |
57 | |
58 | # urls, just a heuristic |
58 | # urls, just a heuristic |
59 | qr{( |
59 | qr{( |
60 | (?:https?://|ftp://|news://|mailto:|file://|\bwww\.)[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~#]+ |
60 | (?:https?://|ftp://|news://|mailto:|file://|\bwww\.)[ab-zA-Z0-9\-\@;\/?:&=%\$_.+!*\x27(),~#]+ |
61 | [ab-zA-Z0-9\-\@;\/?:&=%\$_+*()~] # exclude some trailing characters (heuristic) |
61 | [ab-zA-Z0-9\-\@;\/?:&=%\$_+*()~] # exclude some trailing characters (heuristic) |