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.




      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • What is a realistic turnaround time for account review for ZeptoMail?

                                    On signing up it said 2-3 business days. I am on business-day 6 and have had zero contact of any kind. No follow-up questions, no approval or decline. Attempts to "leave a message" or use the "Contact Us" form have just vanished without a trace. It still
                                  • crm to books

                                    We currently sync CRM Contacts to Zoho Books Customers using two-way sync. We now wish to change to "Accounts & their Contacts". What happens to existing Books customers? Will they be merged with CRM Accounts, duplicated, left unchanged, or recreated?
                                  • Alternate color rows

                                    After I changed the background color to a dark gray and changed the alternate rows to a light gray. I have discovered that I can no longer change the text in the light gray rows to Bold.
                                  • Tax/Vat Number Field As Standard - Customer & Vendor

                                    Hello, when are you'll going to have the customer & vendor tax/vat number as a standard field under the relevant profile pages? I find it strange that after 6 years of using Zoho Inventory that I still have to use a custom field for a tax/vat number,
                                  • Is there a way to sync Tags between CRM and Campaigns/Marketing Hub?

                                    I wonder if there is a way to synch the tags between CRM and Marketing-Hub / Campaigns?
                                  • Restricting coupon codes and plans to specific customers

                                    Having the ability to restrict coupon codes, plans and add ons to specific customers (new or existing) e.g. sending an invite link out to a certain customer or allowing a certain group of customers the ability to use a certain promo code or sign up to
                                  • Coupon Management Lacks functionality

                                    Hey Zoho Team, Let me start of by saying I'm a huge fan of the entire Zoho suite. I have a couple of thoughts about the way coupons are handled and believe there they are in need of some improvement. There are a couple of key issues: 1. Coupons need to
                                  • Free Webinar Alert! Zoho Mail + Zoho CRM: Turn inbox replies into CRM deals

                                    Hello Zoho Community! Are your sales conversations happening in Zoho Mail while your customer data lives in Zoho CRM? Join our upcoming webinar to learn how integrating the two can help you automate follow-ups, capture leads faster, and keep every customer
                                  • Assign account to a ticket created with WebToCase

                                    We use Zoho Desk. Our large client uses WebToCase form to submit tickets. I have two workflow rules: When a contact is created and its email ends with example.com, it runs a custom function, which assigns the new contact the right account Example with
                                  • Introducing the Employee Portal for internal job posting

                                    Employee referrals and internal applications are one of the most trusted hiring channels. But in many organizations, employees only hear about openings through messages, word of mouth, or after the role has already been open for a while. When employees
                                  • Marketing Tip #42: Keep policy pages updated and accessible

                                    Policy pages may not be the most exciting part of your store, but they play a big role in building trust. Before buying, many customers look for information on shipping, returns, refunds, privacy, and terms. If these pages are missing, outdated, or hard
                                  • Extend the Image Choice Field

                                    Hi, The New Yes/No field is great for what it does, and the Image Choice Field is good but could be better with some functions from the Yes/No field. Take an example, rather than just Yes/No you want Yes/No/Maybe (Or more than 3 choices), but unlike the
                                  • Migrate from Zoho Mail to G Suite

                                    I am unable to find any documentation on how one can migrate from Zoho Mail to another platform, like G Suite or Office 365. Please point me to the right documentation. Thank you.
                                  • The All New Attendee App | Zoho Backstage

                                    The Zoho Backstage attendee app is the primary touchpoint for attendees, speakers, exhibitors, and sponsors during an event. It helps participants access event information, manage their schedules, connect with other participants, engage with exhibitors
                                  • Department Customization Copy/Paste

                                    Hello! I love the new customization of the layouts, rules and templates! However, we have several "departments" that operate similar and as I'm updating either ticket layout or workflow rules, I'm finding that I have to do it in each department. I would
                                  • Ticket status does not update upon layout change

                                    Hi team, I'm encountering an issue with ticket layouts and Blueprints in Zoho Desk and would like to understand whether this is expected behavior or a bug. Scenario I have two ticket layouts: Helpdesk Integration The Integration layout has its default
                                  • Uploaded Videos not processing

                                    We are unable to attach videos. When the file is uploaded, it gets stuck at 100% and the ATTACH button is not clickable. My assistant in the Philippines experienced the same issue. I am in California.
                                  • Zia Agents looks promising, but I still cannot deploy my first agent or connect WhatsApp after weeks of support tickets

                                    Hi Everyone, I am posting here because I am stuck and need practical help from someone who has successfully deployed a Zia Agent with WhatsApp. Zia Agents looks like a very promising product. I have watched the platform expand quickly, and I have noticed
                                  • Application-Level Save copy of sent emails

                                    It would be really helpful to be able to turn on/off the Save copy of sent emails at a per application level, so some applications can save in the sent folder and others don't.
                                  • Net ##th Terms (e.g. due on the following 15th)

                                    I have a client who pays me twice monthly per our contract. It would be helpful to have terms on my invoices where the invoice is due on the 15th or the 30th of the same or the following month.
                                  • 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.
                                  • You do not have sufficient permissions to perform this operation. Contact your administrator.

                                    When I attempt to log a call I initiate the +New Call and Start Calling and I click Answered Call in the popup dialog box that follows. Any attempt to save or close this dialog box results in "You do not have sufficient permissions to perform this operation. Contact your administrator." The only way I can get the popup to disappear is to refresh the page and it will go away. I have found others reporting this issue when they attempt to run reports.  Any suggestions? Thank you in advance for taking
                                  • 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
                                  • Zia Agents: quando a Inteligência Artificial do Zoho para de sugerir e passa a agir

                                    Decidi criar um artigo com um panorama prático sobre o que são os agentes do Zia Agents, como funcionam de verdade dentro do ecossistema Zoho e o que aprendi implementando um agente de qualificação de leads em produção. De onde veio a idéia do artigo?
                                  • Zoho Desk Android app update: Manage Custom Module records, View Record Counts for Sub Modules.

                                    Hello everyone! We have introduced an option to add, edit and delete Custom Module records within the Zoho Desk Android app. Now, you can also view the record counts for sub modules (Time Entry, Attachments, Activities) in the ticket details screen. Please
                                  • Automating CRM backup storage?

                                    Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
                                  • How to preserve Lead Creation Date, UTM parameters, and custom fields during Lead Conversion?

                                    We are optimizing our MQL journey. When converting leads to contacts/deals, we need to ensure that the original system Lead Creation Date and UTM tracking parameters (Source, Medium, Campaign) are not lost or archived, as our teams require them for accurate
                                  • 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
                                  • Sub-projects

                                    Hi,  Can we create a sub-project.   Client1 1. project1     1.1 sub-project1    1.2 sub-project2 2. project2    2.1 sub-project1    2.2  sub-project2
                                  • Using Items from Books as product/plan Add-Ons

                                    Hey, It'll be great to use Items from Books as product/plan Add-Ons. Ed
                                  • Inspection Table

                                    Hello Latha, We created a job sheet that includes the new table (Inspection Table) which was introduced recently. However, agents are not able to see the rows in the inspection table. Could you please investigate this issue and get back to us? Please
                                  • Custom Button Creation from Layout Editor in Zoho CRM

                                    Hello All, Buttons in Zoho CRM act as triggers that perform a specific action when clicked. Zoho CRM includes a set of system buttons that help you carry out common actions with a single click. Beyond these, your organization can create custom buttons
                                  • Automatic login options for customer portal

                                    The customer portal is nice for zoho subscriptions, but there are no options to automatically login to it, so if a user is logged into their account inside of my product, I can't create a link that will let them login to their dashboard. Could we have
                                  • Filing GST 3B Through Zoho

                                    I am unable to record/Mark as filed the GSTR-3B for January 2026 in Zoho Books. Although GSTR-3B has already been filed on the GST Portal filed through GST portal but need to mark as filed in Zoho Books so I will be allowed to filed the next returns,
                                  • Square Payments for Subscriptions

                                    I'd love to be able to use Square Payments for Subscriptions with my customers. I already use it for Zoho Books Please have this considered. It would really help my business
                                  • 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
                                  • Add a MATRIX field to the forms creation

                                    Same as Zoho forms, we need a Matrix field in Zoho Creator forms, is very usefull
                                  • Discount Per Line Item

                                    We are a phone company. Sometimes, when we sign up customers, our sales team would like to provide recurring discounts on certain addons. Presently, we have no way of doing this so when we provide discounts, we are forced to simply reduce the price of
                                  • Introducing template migration: Move your Docusign templates to Zoho Sign in minutes

                                    Moving to a new e-signature tool usually comes with a catch: recreating every template from scratch. For teams that rely on dozens of carefully built templates—each with the right recipient roles, fields, and placements—that manual rework is often the
                                  • Error Code 2945 , PATTERN_NOT_MATCHED

                                    Hi, I am trying out Zoho Creator API.  However, I always get the following <response>     <code>2945</code>     <message>PATTERN_NOT_MATCHED</message> </response> However, error code list error as Invalid Ticket. I do not know what is wrong. 
                                  • Next Page