# Type Of Version

**URL:** <https://community.mp3tag.de/t/type-of-version/17690>\
**Category:** Support\
**Created:** [February 24, 2016, 6:16pm UTC](https://community.mp3tag.de/t/type-of-version/17690 "2016-02-24T18:16:52Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![knightrin](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/da6949/32.png) [@knightrin](https://community.mp3tag.de/u/knightrin)\
**Post date:** [February 24, 2016, 6:16pm UTC](https://community.mp3tag.de/t/type-of-version/17690/1 "2016-02-24T18:16:52Z")

</div>

I'm trying to show my tags like G Dep - Special Delivery (Clean) or G Dep - Special Delivery (Dirty)  
so when tag shows (edit) or {radio} in the title tag I want to change to (Clean)  
I tried

Replace with regular expression  
TITLE  
`\(.*\)|\[.*\]|\{.*\}|edit,radio,clean,Edit,Radio,Clean,EDIT,RADIO,CLEAN`  
`$1(Clean)$2`

or

Replace with regular expression  
TITLE  
`\(.*\)|\[.*\]|\{.*\}|explicit,raw,dirty,Explicit,Raw,Dirty,EXPLICIT,RAW,DIRTY`  
`$1(Dirty)$2`

it works but if the title is Special Delivery (Intro)(edit) it would change it to Special Delivery (Clean). I needed (Intro) to stay. Can anyone help?

---

<div class="post-metadata">

**Author:** ![Rijkstra](https://community.mp3tag.de/user_avatar/community.mp3tag.de/rijkstra/32/22_2.png) [@Rijkstra](https://community.mp3tag.de/u/Rijkstra)\
**Post date:** [February 25, 2016, 12:27am UTC](https://community.mp3tag.de/t/type-of-version/17690/2 "2016-02-25T00:27:08Z")

</div>

> [@knightrin](#):
>
> ...
> 
> Replace with regular expression  
> TITLE  
> (._)|[._]|{.\*}|edit,radio,clean,Edit,Radio,Clean,EDIT,RADIO,CLEAN  
> $1(Clean)$2
> 
> it works but if the title is Special Delivery (Intro)(edit) it would change it to Special Delivery (Clean). I needed (Intro) to stay. Can anyone help?

I'll admit I don't understand your RegEx code, but this works for me.

Replace with regular expression  
TITLE  
`[[{(](edit|radio|clean)[\]})]`  
(Clean)

RegEx is case sensitive by default, but Mp3tag reverses that by inserting the (?i) directive by default. Did you notice the checkbox?

---

<div class="post-metadata">

**Author:** ![Rijkstra](https://community.mp3tag.de/user_avatar/community.mp3tag.de/rijkstra/32/22_2.png) [@Rijkstra](https://community.mp3tag.de/u/Rijkstra)\
**Post date:** [February 25, 2016, 2:17pm UTC](https://community.mp3tag.de/t/type-of-version/17690/3 "2016-02-25T14:17:41Z")

</div>

> [@knightrin](#):
>
> Replace with regular expression  
> TITLE  
> (._)|[._]|{.\*}|edit,radio,clean,Edit,Radio,Clean,EDIT,RADIO,CLEAN  
> $1(Clean)$2
> 
> it works but if the title is Special Delivery (Intro)(edit) it would change it to Special Delivery (Clean). I needed (Intro) to stay. Can anyone help?

I actually do understand how your code works. Just not why you would use it.

`\(.*\)|\[.*\]|\{.*\}|edit,radio,clean,Edit,Radio,Clean,EDIT,RADIO,CLEAN`

The sections in green are what executed, the red doesn't do anything. The rest might do something with another string as you describe.

`Special Delivery (Intro)(edit) `it would change it to Special Delivery (Clean)

The ".\*" expressions greedily match anything they find, including the ")(" within the outer pair. The last long red string has no effect on them and will only match itself. $1 and $2 do nothing because you have not defined any groups for them to reference.

---

<div class="post-metadata">

**Author:** ![knightrin](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/da6949/32.png) [@knightrin](https://community.mp3tag.de/u/knightrin)\
**Post date:** [February 26, 2016, 1:26pm UTC](https://community.mp3tag.de/t/type-of-version/17690/4 "2016-02-26T13:26:34Z")

</div>

> [@Rijkstra](#):
>
> I actually do understand how your code works. Just not why you would use it.
> 
> \(.\*\)|\[.\*\]|\{.\*\}|edit,radio,clean,Edit,Radio,Clean,EDIT,RADIO,CLEAN$1(Clean)$2
> 
> The sections in green are what executed, the red doesn't do anything. The rest might do something with another string as you describe.
> 
> Special Delivery (Intro)(edit) it would change it to Special Delivery (Clean)
> 
> The ".\*" expressions greedily match anything they find, including the ")(" within the outer pair. The last long red string has no effect on them and will only match itself. $1 and $2 do nothing because you have not defined any groups for them to reference.

I not good in writing this codes. I'm learn as I go. So thank you for your reply. I'm trying to make sure that the code finds any possibility of the version is found. The version can be all cabs, all lower case or mixed case. The most of the version for clean is clean, radio and sometime edit. I want the code to find those possibility and just put (Clean) in the title section.

---

<div class="post-metadata">

**Author:** ![Rijkstra](https://community.mp3tag.de/user_avatar/community.mp3tag.de/rijkstra/32/22_2.png) [@Rijkstra](https://community.mp3tag.de/u/Rijkstra)\
**Post date:** [February 26, 2016, 10:06pm UTC](https://community.mp3tag.de/t/type-of-version/17690/5 "2016-02-26T22:06:55Z")

</div>

> [@knightrin](#):
>
> I not good in writing this codes. ...

Looking at your posts, I believe you might benefit by reading a RegEx tutorial in your first language. I'm sure there are many who read this forum that share yours. It would be best to start a new thread for that.

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [February 27, 2016, 6:46am UTC](https://community.mp3tag.de/t/type-of-version/17690/6 "2016-02-27T06:46:25Z")

</div>

> [@knightrin](#):
>
> I'm trying to show my tags like G Dep - Special Delivery (Clean) or G Dep - Special Delivery (Dirty)  
> so when tag shows (edit) or {radio} in the title tag I want to change to (Clean) ...

**Action "Format value" ... or ... Convert "Tag-Tag" Field: TITLE Formatstring: $regexp(%TITLE%,'[({[](edit|radio|clean)[]})]','(Clean)',1) ... or ... Action "Replace using Regular Expression" Field: TITLE Regular Expression: [({[](edit|radio|clean)[]})]**

**Replace matches with: (Clean)  
 case-sensitive comparison**

 **Test:**

**1 Edit Radio Clean  
2 (edit) (radio) (clean)  
3 (Edit) (Radio) (Clean)  
4 {EDIT} {RADIO} {CLEAN}  
5 [EDIT] [RADIO] [CLEAN]  
==\>  
1 Edit Radio Clean  
2 (Clean) (Clean) (Clean)  
3 (Clean) (Clean) (Clean)  
4 (Clean) (Clean) (Clean)  
5 (Clean) (Clean) (Clean)**

 

DD.20160227.0846.CET

---

<div class="post-metadata">

**Author:** ![Rijkstra](https://community.mp3tag.de/user_avatar/community.mp3tag.de/rijkstra/32/22_2.png) [@Rijkstra](https://community.mp3tag.de/u/Rijkstra)\
**Post date:** [February 27, 2016, 5:32pm UTC](https://community.mp3tag.de/t/type-of-version/17690/7 "2016-02-27T17:32:57Z")

</div>

> [@DetlevD](#):
>
> ...
> 
> Action "Replace using Regular Expression"Field: TITLERegular Expression: [({[](edit|radio|clean)[]})] 
> 
> Replace matches with: (Clean)  
> case-sensitive comparison  
> ...  
> DD.20160227.0846.CET

I noticed that a backslash is no longer necessary when "]" shows up in a character class. Is that only if it is the first character in the class? IIRC, the earliest versions of RegEx couldn't handle the character at all, then "]" was introduced. Thanks for pointing out that it is no longer necessary.

---

<div class="post-metadata">

**Author:** ![knightrin](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/da6949/32.png) [@knightrin](https://community.mp3tag.de/u/knightrin)\
**Post date:** [February 29, 2016, 5:39pm UTC](https://community.mp3tag.de/t/type-of-version/17690/8 "2016-02-29T17:39:44Z")

</div>

> [@DetlevD](#):
>
> **Action "Format value" ... or ... Convert "Tag-Tag" Field: TITLE Formatstring: $regexp(%TITLE%,'[({[](edit|radio|clean)[]})]','(Clean)',1) ... or ... Action "Replace using Regular Expression" Field: TITLE Regular Expression: [({[](edit|radio|clean)[]})]**
> 
> **Replace matches with: (Clean)  
> case-sensitive comparison**
> 
> **Test:**
> 
> **1 Edit Radio Clean  
> 2 (edit) (radio) (clean)  
> 3 (Edit) (Radio) (Clean)  
> 4 {EDIT} {RADIO} {CLEAN}  
> 5 [EDIT] [RADIO] [CLEAN]  
> ==\>  
> 1 Edit Radio Clean  
> 2 (Clean) (Clean) (Clean)  
> 3 (Clean) (Clean) (Clean)  
> 4 (Clean) (Clean) (Clean)  
> 5 (Clean) (Clean) (Clean)**
> 
>  
> 
> DD.20160227.0846.CET

Thanks. It works. I also created one for Dirty and Intro version...

Action: "Replace using Regular Expression"  
Field: TITLE  
Regular Expression: [({})]  
Replace matches with: (Intro)  
 case-sensitive comparison

and

Action: "Replace using Regular Expression"  
Field: TITLE  
Regular Expression: [({})]  
Replace matches with: (Dirty)  
 case-sensitive comparison

Is it recommend to put all these into one action? If so, what order should be or those it matter.

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [February 29, 2016, 5:57pm UTC](https://community.mp3tag.de/t/type-of-version/17690/9 "2016-02-29T17:57:59Z")

</div>

> [@knightrin](#):
>
> ... Is it recommend to put all these into one action? If so, what order should be or those it matter.

You can collect multiple single actions into one group of actions, and arrange them in the order of your wish, to start them at once.

DD.20160229.1957.CET

---

<div class="post-metadata">

**Author:** ![knightrin](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/k/da6949/32.png) [@knightrin](https://community.mp3tag.de/u/knightrin)\
**Post date:** [March 1, 2016, 5:47pm UTC](https://community.mp3tag.de/t/type-of-version/17690/10 "2016-03-01T17:47:33Z")

</div>

Thanks for your help guys.

---

<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:** [July 28, 2025, 5:47pm UTC](https://community.mp3tag.de/t/type-of-version/17690/11 "2025-07-28T17:47:12Z")

</div>

Closed on July 28, 2025, 5:47pm UTC

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