Regex in Zoho Mail custom filters is not supported - but it works!

Regex in Zoho Mail custom filters is not supported - but it works!

I recently asked Zoho for help using regex in Zoho Mail custom filters and was told it was NOT supported.
This was surprising (and frustrating) as regex in Zoho Mail certainly works, although it does have some quirks*

To encourage others, here are 3 regex examples I created in mail custom filters that have worked fine for me.

Spoiler: I'm not a coder so these examples took me a lot of searching (thanks to others on this site) and tinkering to get the job done — if anyone has improvements on these regex examples, I'm very happy for you to offer them.

Regex examples

1) Purpose: to find all Jpeg, Jpg and Png image urls in email content
regex = "(https?:\/\/[^\s'\"]+?\.(?:jpg|jpeg|png))";

2) Purpose: to find all image urls in email content
regex = '<img[^>]*src="(https?:[^\s,">]*)"';

3) Purpose: to remove unwanted characters in email content, leaving only the urls matched in examples 1 and 2
regex = "\A[\s\S]+?\|\||\|\|[\s\S]+?\||\|\|[\s\S]+?\Z";

Regex explanation and script examples:

1) regex = "(https?:\/\/[^\s'\"]+?\.(?:jpg|jpeg|png))";

(...)                        outer brackets allow match to be captured by variable $1
https?                  ? makes the previous char optional, so matches http or https
:                            literal colon
\/\/                      '\' is required to escape '/' so \/\/, matches '//'
[^...]                      ^ = don't match chars in square brackets
\s                          = white space
'                             = single quote
\"                           = escaped double quote — matches double quote
                               (if i had used single quotes, instead of double, around the whole regex
                                I wouldn't have needed to escape the double quote here)
                              So, [^\s'\"] means match any char EXCEPT white space, single or double quotes
+                           + = match one or more of the chars in square brackets
?                            ? = match the LEAST number of chars (lazy match)
\.                           = escaped dot matches an actual dot (without escape, the dot would match any char except newline)
(?:...)                      ?: = this bracketed group will not be captured by any variable
jpg|jpeg|png         the pipe means 'OR' so this group matches jpg OR jpeg OR png

Script Example
foundUrls = mailContent.replaceall(regex,"||$1||");

Here the $1 variable captures the regex match between (...) so, "||$1||" means 'replace each match with a double pipe and the match, and a double pipe. i.e. place a double pipe around each matched URL.


2) regex = '<img[^>]*src="(https?:[^\s,">]*)"';

'....'                              using single quotes means it's not necessary to escape the double quotes inside the regex
<img                          matches liters <img 
[^>]                            match any character EXCEPT >
*                                 match the chars in the square brackets zero or multiple times
src="                          match literal src="
(...)                              the match inside the brackets is saved to variable $1
https?                        match http or https (? means previous char is optional)
:                                  literal colon
[^\s,">]*                     match any character EXCEPT white space, double quote, chevron — zero or multiple times
"                                  the match must finish with a double quote

NB: the captured variable $1 will only contain the URL from http up to, but not including the final double quote

Script Example

foundUrls = MailContent.replaceAll(regex,"||$1||");

Here, the 'long' URL (<img.. src..."http...) is replaced by the 'short' URL (http....) and surrounded by double pipes


3) regex = "\A[\s\S]+?\|\||\|\|[\s\S]+?\||\|\|[\s\S]+?\Z";

The regex has three options for a match, each separated by a pipe meaning 'OR'

First option:
 \A                  = Start Of File (i.e search from the beginning of the file)
 [\s\S]             matches any white space (\s) and any non-white space (\S)
 +                     + = match one or more of the chars in square brackets
?                       ? = match the LEAST number of characters necessary (lazy match)            
 \|\|                  '\' escapes the pipes so matches '||' (without escape the pipes would be read as 'OR')
 |                       unescaped pipe = OR (i.e. match either first OR second parts of the regex)
 
Second option:
 \|\|                  escaped pipes, so matches '||' 
[\s\S]+?           match any space or non-space one or more times, but use the LEAST chars necessary
\|                      escaped pipe, so matches '|' (NB: when this group is deleted it will leave one pipe between URLs) 
|                        unescaped pipe = 'OR' (ie match second OR third parts of the regex)

Third option
\|\|                    escaped pipes, matches '||' 
[\s\S]+?            match any space or non-space one or more times, but use the LEAST chars necessary
\Z                     = End Of File (i.e. search to the end of the file)

Script example

 cleanUrls = foundUrls.replaceAll(regex,"");

Thus
Option 1: 'StartOfFile up to and including '||' gets deleted.
Option 2: '||' to '|' inclusive gets deleted (leaving one pipe between URLs)
Option 3: '||' to EndOfFile gets deleted

Replacing the single pipes with commas to form a list of URLs is accomplished with:
urls = cleanUrls.toList("|");

NB These scripts use pipes to bracket and separate URLS It's therefore prudent, BEFORE applying the scripts, to remove any existing pipes from the selected text:

regex = '\|';
cleanMailContent = mailContent.replaceAll(regex,"");

* Quirks of Zoho Mail Deluge 

While the scripting language is similar to JavaScript it is not identical and some features of Regex do not work.
In particular, I've not had success using 'lookahead' or 'lookbehind' operations in Zoho Mail custom filters.




      • Sticky Posts

      • Pocket from Mozilla is closing shop. Don’t lose your favorites . Move them to Zoho Mail Bookmarks now! 📥🔖

        The end of Pocket shouldn't mean the end of your important links and content. Easily import them into Zoho Mail's Bookmarks and continue right where you left off. You can bring over your entire Saves, Collections, and tags just the way they are. Bookmarks
      • Zoho Mail POP & IMAP Server Details

        Hello all! We have been receiving a number of requests regarding the errors while configuring or using Zoho Mail account in POP/ IMAP clients. The server details vary based on your account type and the Datacenter in which your account is setup. Ensure
      • Workplace - Zoholics Europe Customer Awards

        Dear Zoho Mail Community! 📣 We're excited to announce that at this year's Zoholics events across Europe, we're holding customer awards for the first time ever! Workplace - Zoholics Europe Customer Awards This is your chance to shout about the amazing
      • Important update on Group Management | Zoho Mail

        Dear Zoho Mail Community, This post is to inform you all of the following updates on the Group Management in Zoho Mail. Group Member Addition: If a group member is added to an organization group in a Zoho Application, the member will be automatically
      • Mastering email etiquette and best practices to follow in Zoho Mail

        Hello Zoho Mail Community, We’re thrilled to invite you all to our upcoming webinar: Mastering email etiquette and best practices to follow in Zoho Mail. Join our live webinar for expert etiquette tips to enhance your professionalism and elevate your

        • Recent Topics

        • CRM gets location smart with the all new Map View: visualize records, locate records within any radius, and more

          Hello all, We've introduced a new way to work with location data in Zoho CRM: the Map View. Instead of scrolling through endless lists, your records now appear as pins on a map. Built on top of the all-new address field and powered by Mappls (MapMyIndia),
        • Workdrive on Android - Gallery Photo Backups

          Hello, Is there any way of backing up the photos on my android phone directly to a specific folder on Workdrive? Assuming i have the workdrive app installed on the phone in question. Emma
        • Auto sync Photo storage

          Hello I am new to Zoho Workdrive and was wondering if the is a way of automatically syncing photos on my Android phone to my workdrive as want to move away from Google? Thanks
        • List of Mail Merge Templates via Deluge

          Hello, Is it possible to get a list of the mail merge templates I've created in CRM within a custom function? I want to retrieve them and put them in a dropdown list but all I get is a scopes error! Can anyone see where I'm going wrong? Is this even possible?
        • Feature Request Improve parent-child relationship visibility

          Hi team, The Parent-Child ticket feature is great, but I've struggled to see the relationship between tickets when using ticket list views. It would be a great quality of life enhancement for users if child tickets were nested under parent tickets in
        • Displaying only unread tickets in ticket view

          Hello, I was wondering if someone might be able to help me with this one. We use filters to display our ticket list, typically using a saved filter which displays the tickets which are overdue or due today. What I'd really like is another filter that
        • Is there provision to charge the attendees to join the webinar?

          We want to host some webinar of public interest and want to charge them to participate in this. Does this feature in-build in the application? Offcourse, we will be having Razor pay account activated for these purpose.
        • Pricelists

          So we have them in books but I cannot find them in commerce?
        • Desktop app doesn't support notecards created on Android

          Hi, Does anybody have same problem? Some of last notecards created on Android app (v. 6.6) doesn't show in desktop app (v. 3.5.5). I see these note cards but whith they appear with exclamation mark in yellow triangle (see screenshot) and when I try to
        • Don't send customer email when creating a ticket

          Hi Is there an easy way to stop the system sending an email to the customer when we manually create ticket.
        • Connecting a contact with the deal + Emails not showing up under Deals

          Hello. I have two problems. Im not sure if the problem is due to level of my subscription - Im on Proffessional plan. 1. I have a JotForm connected with ZohoCRM which automatically creates a contact and a new deal based on form submission. That is done
        • Accessing GDPR Data Source metadata for workflows and Zoho Analytics

          Hi everyone, We have GDPR compliance enabled in Zoho CRM, which has added the Data Source section within the Data Privacy tab for Leads and Contacts. This section shows useful information such as: Original creation source, for example Zoho Forms Form
        • Tiktok

          When will Tiktok be added to the Zoho Social Platform?
        • Zoho Mail iOS app update: Spam Controls & Sender Verification

          Hello everyone! We are excited to introduce spam control enhancements in the Zoho Mail iOS app update. Let's dive into what's new. Spam Alerts in Mail Preview : Mail preview now shows warning alerts for emails identified as potentially harmful, helping
        • Mise à jour de Zoho Books – France

          Chers clients, Merci pour votre patience et votre soutien continu. Avec les évolutions réglementaires à venir en France nous introduisons de nouvelles fonctionnalités dans Zoho Books pour les clients français. Ces mises à jour ont été conçues pour répondre
        • Admin Logging in as another User

          How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Latest Update (27th April 2026): With the early
        • Zoho Books API: Bulk update thousands of records using Node.js with OAuth refresh, retries and resume support

          Hello everyone, During Zoho Books implementations, one common challenge is updating a large number of existing records. The current options are usually: Update records manually from the UI using Mass Update (with limited batch size). Update records one
        • SalesIQ's Summer '26 Release: For The Moments That Matter

          Every customer journey is made up of moments. The moment someone discovers your business. The moment they need help. The moment you decide to reach out. The moment a simple chat turns into something more. And the moments that continue long after the conversation
        • CNIL - Suivi de Pixel

          Bonjour à tous, À la suite de la nouvelle recommandation de la CNIL sur les pixels de suivi dans les e-mails, savez-vous si Zoho Campaigns permet : de conditionner le suivi des ouvertures au consentement de chaque contact ; de proposer un lien permettant
        • Customer/Vendor Portal session duration - can it be extended?

          Hi all, We'd like to know how long the login session lasts for the Customer/Vendor Portal in Zoho Books, and whether there's any way to extend it (either through settings or via support/API). Right now this is causing a pretty poor experience for our
        • Accessible & Customizable User Governance in Zoho Projects!

          As teams expand and collaborate with multiple external collaborators across projects, keeping control of user access to project data becomes a challenge. Mismanaged access can cause accidental or unauthorized edits, data leaks and lack of accountability.
        • Bulk deleting Zoho CRM records using Deluge, COQL and CRM API

          Hello everyone, During CRM implementations, data cleanup is a common task, especially after testing, migrations, imports, or integration development. The Zoho CRM UI allows deleting records in batches of 100, which is not practical when dealing with thousands
        • CNIL - Suivi de Pixel

          Bonjour à tous, À la suite de la nouvelle recommandation de la CNIL sur les pixels de suivi dans les e-mails, savez-vous si Zoho Campaigns permet : de conditionner le suivi des ouvertures au consentement de chaque contact ; de proposer un lien permettant
        • Zoho CRM Layout Rules: Nine New Actions, Profile-Based Execution, and Interactive Preview

          Hello everyone, Availability: This feature is now available for customers in the JP and SA DCs. It is planned to be released for other customers in soon. We’re excited to announce powerful new enhancements to Layout Rules in Zoho CRM - a feature built
        • How to View Part Inventory and Warehouse Location When Creating a Work Order in Zoho FSM

          Hi everyone, We’re currently setting up Zoho FSM and would like to improve how our team selects parts when creating a Work Order. Right now, when we add a part or item to a Work Order, we can select it from our Zoho Inventory list but we don’t see any
        • Zoho Sprints - Q2 Updates for 2026

          Improve your agile project management experience with the newly released capabilities in Zoho Sprints. This quarter we've shipped a few new features and enhancements that are built around smarter planning and execution tools, tighter integrations, and
        • Problem with currency field in Zoho CRM

          Hi Guys Zoho Books has a feature in currency fields that automatically converts decimal numbers with commas ( , ) to period format ( . ) when pasting them. For example: R$ 2,50 --> R$ 2.50 Is this behavior available in Zoho CRM? I couldn't find any configuration
        • Building extensions #5: Creating custom user interfaces using widgets

          In our last post, we looked at connections and how they help build a seamless integration with an example. In this post, we'll explore creating widgets in Zoho Sprints and their benefits with a real-time example. Widgets What and where? Widgets are custom
        • Images not saved in notes

          Created noteboards and create a note, copy pasted the image, close the note and open again, image is not coming this same problem occurs in note on notebook I have attached the replication steps as video url to analyse it, and also attached the videos
        • How to Change Notecard Color After It Is Created

          I would like to change the color of a Notecard that already exists in my notebook. I can't for the life of me figure out how to do it. I don't see an option or color picker anywhere.
        • Cannot export Zoho Notebook data nor search via MCP (GDPR)

          Hi, I'm using Zoho Notebook for a few years now. Not as my main notetaking app, but for specific usecases I did find it handy. Now I want to export all my data. Preferably all notes in html format with metadata like note title, included images and parent
        • Add a MATRIX field to the forms creation

          Same as Zoho forms, we need a Matrix field in Zoho Creator forms, is very usefull
        • incoming mails not received

          incoming mails not received
        • Integrate QuickBooks with Bigin and streamline your sales and accounting!

          If your business relies on Bigin for customer management and QuickBooks for accounting and invoicing, this new integration is here to make your operations more efficient. By connecting these two platforms, you can now manage your CRM and financial processes
        • Automatically calculate and include tax on quotes

          I've recently been VAT registered and now need to include VAT on my quotes. I have been able to set the tax label and amount but still need to click the tax link and select the tax I wish to include before it appears on the quote. Does anyone know of
        • Relative Dates

          Is there a way to apply a Relative Date filter in DataPrep (ie. Today or Yesterday)? I need to filter a dataset to only include rows with a created date of yesterday, but I’m not finding a way to do it?
        • Change email addresses - Advise how

          Good day, I need assistance to change all our users email addresses Please advise
        • email signature

          How do you add an email signature
        • Email Forwarding | How to Enable and Disable Email Forwarding on a Non-Admin User Account

          Email Forwarding Issue: Enable and Disable Email Forwarding
        • Ask the Experts 31: Improving support performance with reports and dashboards

          Hello everyone, Join us for the next Ask the Experts (ATE) session! Ask the Experts is an opportunity to connect with people who have deep knowledge of Zoho Desk. Let's look at the topic we're focusing on this month. Just as we rely on the right tools
        • Next Page