# Using regex to return a substring

**URL:** https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168
**Category:** Support
**Created:** [September 8, 2008, 8:53pm UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168 "2008-09-08T20:53:44Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 8, 2008, 8:53pm UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/1 "2008-09-08T20:53:44Z")

</div>

anyone have a regex to return a substring preceding or following the first occurrence of a delimiter?

---

<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: [September 9, 2008, 2:12am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/2 "2008-09-09T02:12:16Z")

</div>

Any example?  
What delimiter?

DD.20080909.0611.CEST

---

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 9, 2008, 5:51am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/3 "2008-09-09T05:51:16Z")

</div>

hello : world  
hello:world  
hello: world  
hello :world

In each case I would love regex's to return "hello" or "world", depending on requirements. The delimiter could be something else also, but let's assume it could be any of ":;,"

---

<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: [September 9, 2008, 10:08am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/4 "2008-09-09T10:08:49Z")

</div>

$regexp('hello : world',^(.+?) \*'[:;,]+' \*(.+?)$,$1) ==\> 'hello'  
$regexp('hello : world',^(.+?) \*'[:;,]+' \*(.+?)$,$2) ==\> 'world'

$regexp('hello:world',^(.+?) \*'[:;,]+' \*(.+?)$,$1) ==\> 'hello'  
$regexp('hello:world',^(.+?) \*'[:;,]+' \*(.+?)$,$2) ==\> 'world'

$regexp('hello :world',^(.+?) \*'[:;,]+' \*(.+?)$,$1) ==\> 'hello'  
$regexp('hello :world',^(.+?) \*'[:;,]+' \*(.+?)$,$2) ==\> 'world'

$regexp('hello: world',^(.+?) \*'[:;,]+' \*(.+?)$,$1) ==\> 'hello'  
$regexp('hello: world',^(.+?) \*'[:;,]+' \*(.+?)$,$2) ==\> 'world'

DD.20080909.1408.CEST

**$regexp('hello : world','^(.+?) \*[:;,]+ \*(.+?)$','$1')==\> 'hello' $regexp('hello :world','^(.+?) \*[:;,]+ \*(.+?)$','$1')==\> 'hello' $regexp('hello: world','^(.+?) \*[:;,]+ \*(.+?)$','$1')==\> 'hello' $regexp('hello:world','^(.+?) \*[:;,]+ \*(.+?)$','$1')==\> 'hello' $regexp('hello : world','^(.+?) \*[:;,]+ \*(.+?)$','$2')==\> 'world' $regexp('hello :world','^(.+?) \*[:;,]+ \*(.+?)$','$2')==\> 'world' $regexp('hello: world','^(.+?) \*[:;,]+ \*(.+?)$','$2')==\> 'world' $regexp('hello:world','^(.+?) \*[:;,]+ \*(.+?)$','$2')==\> 'world' $regexp('hello : world','^(.+?)[:;,]+(.+?)$','$1')==\> 'hello'** 

**```
<!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello :world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$1<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc-->
<!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello: world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$1<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc-->
 <!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello:world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$1<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc-->**

**```**

 **$regexp('hello : world','^(.+?)[:;,]+(.+?)$','$2')==\> 'world'** 

**```
<!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello :world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$2<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc-->
<!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello: world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$2<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc-->
 <!--coloro:#800080--><span style="color:#800080"><!--/coloro-->$regexp<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->(<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->hello:world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->^(.+?)[:;,]+(.+?)$<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->$2<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->)<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->==><!--colorc--></span><!--/colorc--> <!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->world<!--colorc--></span><!--/colorc--><!--coloro:#008080--><span style="color:#008080"><!--/coloro-->'<!--colorc--></span><!--/colorc--></b><!--fontc--></span><!--/fontc--><!--sizec--></span><!--/sizec-->**

**```**

 

DD.20150729.1700.CEST

---

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 9, 2008, 6:34pm UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/5 "2008-09-09T18:34:20Z")

</div>

thank you. Forgive my ignorance, but what would the "Regular expression" and "Replace matches with" entries look like if this were turned into an action?

---

<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: [September 10, 2008, 3:11am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/6 "2008-09-10T03:11:01Z")

</div>

I leave this task to you: transferring of these $regexp() expressions into Mp3tag action forms.  
You may have to check the case when there is no match at all (if there is no delimiter).

DD.20080910.0710.CEST

---

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 10, 2008, 3:37am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/7 "2008-09-10T03:37:14Z")

</div>

> [@DetlevD](#):
>
> I leave this task to you: transferring of these $regexp() expressions into Mp3tag action forms.  
> You may have to check the case when there is no match at all (if there is no delimiter).
> 
> DD.20080910.0710.CEST

I'd tried it and got no result, hence my asking. What I did was as follows:  
For $regexp('hello : world',^(.+?) \*'[:;,]+' \*(.+?)$,$1) ==\> 'hello'

Regular expression: ^(.+?) \*'[:;,]+'  
Replace matches with: \*(.+?)$,$1)

---

<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: [September 10, 2008, 5:07am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/8 "2008-09-10T05:07:35Z")

</div>

> [@egd](#):
>
> I'd tried it and got no result, hence my asking. ...

Look at [https://docs.mp3tag.de/scripting](https://docs.mp3tag.de/scripting)

> [@](#):
>
> $regexp(what,expr,repl)
> 
> Replaces the pattern specified by the regular expression expr in the string what by repl. The fourth optional parameter enables ignore case (1) or disables the ignore case setting (0). Please note that you have to escape comma and other special characters in expr (see end of this document).

$regexp('hello : world',^(.+?) \*'[:;,]+' \*(.+?)$,$1)

DD.20080910.0907.CEST

---

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 10, 2008, 7:42am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/9 "2008-09-10T07:42:00Z")

</div>

> [@DetlevD](#):
>
> Look at [https://docs.mp3tag.de/scripting](https://docs.mp3tag.de/scripting)
> 
> $regexp('hello : world',^(.+?) \*'[:;,]+' \*(.+?)$,$1)
> 
> DD.20080910.0907.CEST

Hi DetlevD

Thanks for getting back to me. I've tried the above at [http://www.regextester.com/](http://www.regextester.com/) using:  
regex: ^(.+?) \*'[;]+' \*(.+?)$  
Test on Text: hello : world  
Replace with: $1

and it returns "No match" ☹

---

<div class="post-metadata">

### Author: ![egd](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/e/3da27b/32.png) [@egd](https://community.mp3tag.de/u/egd)
#### Post date: [September 10, 2008, 11:21am UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/10 "2008-09-10T11:21:30Z")

</div>

I've gotten it working 🙂

seems one has to to remove the " **'**" on either side of '[:;,]+' for the expression to evaluate.

thanks again

---

<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: [September 10, 2008, 12:52pm UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/11 "2008-09-10T12:52:01Z")

</div>

> [@egd](#):
>
> I've gotten it working 🙂

I'm glad to hear this!

> [@egd](#):
>
> ... seems one has to to remove the " **'**" on either side of '[:;,]+' for the expression to evaluate. ...

Ah, yes, the single quotation mark ' is used within the $regexp() function as an escape character to prevent such special characters like e. g. square brackets or commas from misinterpreting by the function parameter parser.  
The Mp3tag regex action form does not need this extra escaping.

DD.20080910.1652.CEST

---

<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: [February 9, 2026, 12:21pm UTC](https://community.mp3tag.de/t/using-regex-to-return-a-substring/7168/12 "2026-02-09T12:21:05Z")

</div>


