# Move feat to artist field

**URL:** https://community.mp3tag.de/t/move-feat-to-artist-field/69268
**Category:** Support
**Created:** [July 27, 2025, 5:27pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268 "2025-07-27T17:27:00Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 5:27pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/1 "2025-07-27T17:27:00Z")

</div>

I've read through a few threads and simply cannot get the moving of the artist out of the title into the artist field. I've been working on this script for over 5hrs. Can someone please help me with this?

title: Gotta Get It Feat. Gucci Mane (Dj Organic Edit)  
artist: Juvenile

I want to change it to:

title: Gotta Get It (Dj Organic Edit)  
artist: Juvenile Feat. Gucci Mane

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 5:32pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/2 "2025-07-27T17:32:47Z")

</div>

You could split the title field into several fields, perhaps user-defined ones.  
And then you reassemble the fields as you prefer it.  
If you do not like that idea, then please show us, what you have done so far and where you got stuck.

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 5:46pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/3 "2025-07-27T17:46:01Z")

</div>

here is my script. after it runs, it changes to:

title: Gotta Get It (Dj Organic Edit)  
artist: Juvenile

1. Extract featured artist to temporary field  
Action type: Format value  
Field: \_TMP\_FEAT  
Format string: `$regexp(%title%,.*(?i)(feat\.|ft\.)\s+([^()]+).*,$2)`

2. Append featured artist to ARTIST  
Action type: Format value  
Field: ARTIST  
Format string: `$if(%_TMP_FEAT%,%artist% Ft. %_TMP_FEAT%,%artist%)`

3. Clean the TITLE (remove feat part only)  
Action type: Format value  
Field: TITLE  
Format string: `$regexp(%title%,\s+(?i)(feat\.|ft\.)\s+[^()]+, )`

4. Remove temporary field  
Action type: Remove fields  
Field: \_TMP\_FEAT

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 5:50pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/4 "2025-07-27T17:50:09Z")

</div>

What is the result of each action?  
In a good test environment, you would test each action separately to make sure that the result is as expected.

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 5:50pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/5 "2025-07-27T17:50:45Z")

</div>

i did not know you could break it down. i'll run each action separately.

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 5:52pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/6 "2025-07-27T17:52:45Z")

</div>

i ran the first par tof the script and did an Alt T and see there is an issue: it has this error msg

REGEXP ERROR: Regular expression

Invalid preceding regular expression prior to repetition operator. The error occurred while parsing the regular expression fragment: 'ft.)\s+(+\>\>\>HERE\>\>\>).\*'.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 5:55pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/7 "2025-07-27T17:55:34Z")

</div>

You can test regular expressions in the Converter\>Tag-Tag with its preview.

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 6:00pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/8 "2025-07-27T18:00:10Z")

</div>

i did the preview and it's throwing the same REGEX ERROR MSG. the preview helps but still no closer to the solution. for some reason my script is having a hard time going from:

title: Gotta Get It Feat. Gucci Mane (Dj Organic Edit)  
artist: Juvenile

I want to change it to:

title: Gotta Get It (Dj Organic Edit)  
artist: Juvenile Feat. Gucci Mane

here is the error in the preview:

H:\_ Single, Remixes, Edits Collection\Hip Hop\222\J\Juvenile\Gotta Get It Feat. Gucci Mane (Dj Organic Edit) 106 - Juvenile.mp3  
"REGEXP ERROR: Regular expression

Invalid preceding regular expression prior to repetition operator. The error occurred while parsing the regular expression fragment: 'eat.\s+(+\>\>\>HERE\>\>\>).\*'." -\>  
"REGEXP ERROR: Regular expression

Invalid preceding regular expression prior to repetition operator. The error occurred while parsing the regular expression fragment: 'eat.\s+(+\>\>\>HERE\>\>\>).\*'."

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 6:04pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/9 "2025-07-27T18:04:24Z")

</div>

Could you explain, what each part of the regular expression does?

1. `.*`
2. `(?i)`
3. `(feat\.|ft\.)`
4. `\s+`
5. `[[^()]+)`
6. `.*`
7. and what does $2 refer to?

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 6:06pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/10 "2025-07-27T18:06:38Z")

</div>

its just something I was trying but failing miserable at. do you know of a simple way to achieve what i'm trying to do? Im open to ideas?

title: Gotta Get It Feat. Gucci Mane (Dj Organic Edit)  
artist: Juvenile

I want to change it to:

title: Gotta Get It (Dj Organic Edit)  
artist: Juvenile Feat. Gucci Mane

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 6:10pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/11 "2025-07-27T18:10:11Z")

</div>

Honestly, why do you use a function that is a black box to you?

I would use just a single action (and not 4): "Guess value"  
Source string: `%artist% Feat. $regexp(%title%,'(.*) Feat. (.*?) (\(.*\))',$2==$1 $3)`  
Target format string: `%artist%==%title%`

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 6:16pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/12 "2025-07-27T18:16:22Z")

</div>

> [@ohrenkino](#):
>
> %artist%==%title%

FIRST please allow me to THANK YOU for providing the solution. It worked!! Yah finally after 6+hrs of trying

and to answer your question, I thought I would put more time in learning how to script in mp3 actions instead of just always asking first. I've learned a thing or two but still have a far way to go to get better results. In short, I'm learning by making a lot of mistakes but I'm trying my friend 🙂

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 6:20pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/13 "2025-07-27T18:20:02Z")

</div>

> [@mbrazil05](#):
>
> I'm trying

A good approach would be to decipher the applyed regular expression before it gets activated.

---

<div class="post-metadata">

### Author: ![mbrazil05](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/m/9d8465/32.png) [@mbrazil05](https://community.mp3tag.de/u/mbrazil05)
#### Post date: [July 27, 2025, 6:36pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/14 "2025-07-27T18:36:52Z")

</div>

> [@ohrenkino](#):
>
> Source string: `%artist% Feat. $regexp(%title%,'(.*) Feat. (.*?) (\(.*\))',$2==$1 $3)`  
> Target format string: `%artist%==%title%`

how so? please share with me a good practical clean approach? im still learning regex but what do you recommend?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 27, 2025, 6:50pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/15 "2025-07-27T18:50:37Z")

</div>

> [@mbrazil05](#):
>
> what do you recommend

Research the parts of the (apparently found) regular expression as suggested here:

> [@ohrenkino](#):
>
> - `.*`
> - `(?i)`
> - `(feat\.|ft\.)`
> - `\s+`
> - `[[^()]+)`
> - `.*`
> - and what does $2 refer to?

Perhaps with the help of this page:

> **[regex101: build, test, and debug regex](https://regex101.com/)**
>
> Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.

---

<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: [August 26, 2025, 6:50pm UTC](https://community.mp3tag.de/t/move-feat-to-artist-field/69268/16 "2025-08-26T18:50:50Z")

</div>

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