# Operating with 2 sets of brackets

**URL:** https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478
**Category:** Support
**Created:** [August 20, 2025, 2:07pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478 "2025-08-20T14:07:22Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Kev\_Vader](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/a9adbd/32.png) [@Kev\_Vader](https://community.mp3tag.de/u/Kev_Vader)
#### Post date: [August 20, 2025, 2:07pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/1 "2025-08-20T14:07:22Z")

</div>

Hi All - my first post!

I have a quick question regarding filenames with two sets of brackets.

I have a filename in the format:

01 - Kiss - God Gave Rock & Roll To You (Longer Version) (1992)

I would like to separate it up into the following fields:

Track: 01

Artist: Kiss

Title: God Gave Rock & Roll To You (Longer Version)

Year: 1992

Finding a way to keep the first bracketed text in the title and still extract the year correctly has me stumped. Any help would be appreciated!

Thanks!!

---

<div class="post-metadata">

### Author: ![flowrian](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/f/bbe5ce/32.png) [@flowrian](https://community.mp3tag.de/u/flowrian)
#### Post date: [August 20, 2025, 2:14pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/2 "2025-08-20T14:14:31Z")

</div>

Hi there

Select your files and go to filename \> tag (you can Alt+2 to shortcut it), and use :

%track% - %artist% - Title (%year%)

To understand, everything between %% will be used as info used for the tags  
Everything which is not into a double %, will be spared, but it will be used as a “guide” or structure for the app to understand were it go so you have to write it or else the app will not understand how to deal with it

So %track% - %artist% - Title (%year%)  
the first “ - “ will be skipped, the 2nd one too, the “ (“ before the year too, and the last “)” will be spared too

A good thing to help here, is alongside with you entering this '“formula”, mp3tag will show you the instant result with your file (just look bellow the windows)

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [August 20, 2025, 2:16pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/3 "2025-08-20T14:16:18Z")

</div>

@flowrian Please test your answer before posting.

 ![image](https://community.mp3tag.de/uploads/default/original/3X/e/0/e06f062e429b22de58e9ddfef119b9a47b682278.png)

The above solution does not work as you can see from the missing preview 😉

---

<div class="post-metadata">

### Author: ![flowrian](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/f/bbe5ce/32.png) [@flowrian](https://community.mp3tag.de/u/flowrian)
#### Post date: [August 20, 2025, 2:19pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/4 "2025-08-20T14:19:56Z")

</div>

> [@flowrian](#):
>
> %track% - %artist% - Title (%year%)

Oh yes I see, the app catch the first “(“ so it think the %year% start here, I completely miss the main point sorry

Mhmm if I find a way I’ll tell you

---

<div class="post-metadata">

### Author: ![flowrian](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/f/bbe5ce/32.png) [@flowrian](https://community.mp3tag.de/u/flowrian)
#### Post date: [August 20, 2025, 2:22pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/5 "2025-08-20T14:22:58Z")

</div>

Not perfect but if you want a quick trick to obtain it before someone give you the perfect solution, you can :

%track% - %artist% - %title% (1992)

This way you will just miss the year tag, but you can put it manually after that in 2 seconds  
Downside is you will have to change the year for every album so not friendly for mass tagging

---

<div class="post-metadata">

### Author: ![Kev\_Vader](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/a9adbd/32.png) [@Kev\_Vader](https://community.mp3tag.de/u/Kev_Vader)
#### Post date: [August 20, 2025, 2:29pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/6 "2025-08-20T14:29:46Z")

</div>

Thanks for the fast replies!

I have a LOT of files I am operating on, so an elegant solution is what I’ve been trying to find.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [August 20, 2025, 2:40pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/7 "2025-08-20T14:40:54Z")

</div>

I would solve it with these 3 steps:

1.) Convert Filename -\> Tag with this Format string  
`%track% - %artist% - %title%`  
(this fills the year from the filename to your `TITLE` too!)

 ![image](https://community.mp3tag.de/uploads/default/original/3X/d/2/d27513eeb2ebca8a998fc92a9fb5b3bad2bd1ac7.png)

2.) Use Convert Tag -\> Tag for the Field `YEAR` with this Format string:  
`$regexp(%TITLE%,(.*)\((\d{4})\)$,$2)`  
(This fills the 4-digit year inside brackets at the end of `TITLE` into a new `YEAR` field.)

 ![image](https://community.mp3tag.de/uploads/default/original/3X/0/d/0d2394d34e7c8cdae4ad672b5593080146a96b26.png)

3.) Use Convert Tag -\> Tag for the Field `TITLE` with this Format string:  
~~`$regexp(%TITLE%,(.*)\((\d{4})\)$,$1)`~~  
`$regexp(%TITLE%,(.*) \((\d{4})\)$,$1)`  
(This removes the space, the 4-digit year and the brackets at the end of `TITLE`)  
It is nearly the same regular expression, just switch from `$2` to `$1` in the replace-part after the comma)

 ![image](https://community.mp3tag.de/uploads/default/original/3X/6/9/69f8035672340856f682a772af09db988760e567.png)

This would result in these 4 fields:

 ![image](https://community.mp3tag.de/uploads/default/original/3X/b/b/bb5773bba4ccb9e54395382139c37459d98c5c1e.png)

Please test it carefully.  
And as always with regular expressions: They only works for the given specific use case!

**Update 29.3.2026**  
To avoid a trailing space in the `TITLE`, please use the modified regular expression in step #3.  
Thanks to @ohrenkino [for the fix](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets-part-2/70963/2).

---

<div class="post-metadata">

### Author: ![Kev\_Vader](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/a9adbd/32.png) [@Kev\_Vader](https://community.mp3tag.de/u/Kev_Vader)
#### Post date: [August 20, 2025, 10:52pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/8 "2025-08-20T22:52:40Z")

</div>

Thanks for that solution it works well!!

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [September 19, 2025, 10:53pm UTC](https://community.mp3tag.de/t/operating-with-2-sets-of-brackets/69478/9 "2025-09-19T22:53:08Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
