On Monday, 11 December 2023 at 05:18:45 UTC, thinkunix wrote:
BoQsc via Digitalmars-d-learn wrote:
This is something I've searched on the forum and couldn't find exact answer.

TLDR: `r"^."` is matching the very first two character in the `input` string.

Don't you need two dots to match two characters?
Each dot being the regex to match a single character,
so `r"^.."` instead of `r"^."` to get the first two characters.

When I run your program (on linux with rdmd from DMD 2.106.0), I get:

[["H"]]

Yeah, that's true, my mistake, forgot to update the snippet and note properly. Thanks!

```
import std.stdio : writeln;
import std.regex : matchAll;
import std.file  : read;

void main(){

        string input = cast(string)read("example.txt");
        writeln(matchAll(input, r"^.."));

}
```

Reply via email to