Skip to main content


Going nuts with this regex, looking for second pair of eyesThis works and returns several files:
```
my $image_name = quotemeta('Screenshot-2024-02-23-at-1.05.14');
my $files = $wac->get_all_files_in_dir($dir . '/uploads', qr/$image_name.*\.png$/);

```

This returns no files:
```
my $image_name = quotemeta('Screenshot-2024-02-23-at-1.05.14 AM');
my $files = $wac->get_all_files_in_dir($dir . '/uploads', qr/$image_name.*\.png$/);
```

Note the space in the file name before AM.

This also returns no files:
```
my $image_name = quotemeta('Screenshot-2024-02-23-at-1.05.14\s*AM');
my $files = $wac->get_all_files_in_dir($dir . '/uploads', qr/$image_name.*\.png$/);
```

I tried with and without quotemeta and with and without /Q /E to no avail.

Is it possible the space is some kind of invisible UTF8 character? This is driving me nuts.

**UPDATE:** I jumped on regex101.com and copied and pasted in the file name from the terminal and indeed there appears to be some kind of hidden character that is not whitespace:

https://preview.redd.it/icpdpzxj1gid1.png?width=828&format=png&auto=webp&s=1f78222cdd1d45bc1c5f39d0e48d04e7c57b3f74

Did a hex dump of the string:

00000000 53 63 72 65 65 6E 73 68 - 6F 74 2D 32 30 32 34 2D Screenshot-2024-

00000010 30 32 2D 32 33 2D 61 74 - 2D 31 2E 30 35 2E 31 34 02-23-at-1.05.14

00000020 E2 80 AF 41 4D 2D 31 30 - 32 34 78 36 39 38 2E 70 ...AM-1024x698.p

00000030 6E 67 0A ng.

submitted by /u/anki_steve
[link] [comments]