How to search for notes with empty YAML option?

How can I search for notes using the built-in search plugin, which supports regex, to search for notes that have no entry in specific keys within the frontmatter?

I am using templater and thus am using my frontmatter looks like this:

---

aliases:

publish: false

tag:

---

%%

date:: [[2023-07-11 Tue]]

parent:: [[XYZ]]

%%

Searching for "parent:: " works fine, but I want to find notes that do not have a parent note yet. For this I tried parent:: /$ as indicated here and here, but this and other variations like parent:: /\$/ do not yield any results.

Where am i going wrong?

5 points · 4 comments · view on lemmy.world

4 Comments

Luxbux84@lemmy.world · 6 pts · 3y (1 reply)

I don't think the built-in search has this capability, but you can try this dataview query:

LIST
WHERE !parent
laurelinae@lemmy.world · 2 pts · 3y

Works like a charm! I didn't know that I could query not just from tags but from any YAML key. Thank you!

nietscape@slrpnk.net · 2 pts · 3y (1 reply)

If you're using regex I'm assuming you know of utilities like Regex 101 to check your syntax.

With JS-styled regex the entire statement is enclosed in slashes. /parent:: $/ should have the desired effect here.

I second DataView for these kinds of tasks as the plugin revolves around YAML frontmatter. I have a utility note called "notes with cleanable metadata" that has a bunch of these DataView queries that update in real time.

Good luck!

laurelinae@lemmy.world · 2 pts · 3y

/parent:: $/

Works perfectly! I thought I could start the regex in the middle of my text query. In hindsight, that of course makes no sense. Thank you!