How to use Regex in Make?

Last updated: 2024/14/01

In regular cases it’s very usefull to use Regex (or Regular Expressions) if you want to extract or replace data in some text. When there always is a similar pattern in your text data, regex is ideal to use. But how can you use regex?

Table of content

1 – What is regex

2 – How to begin with RegEx

3 – Starting development

4 – Basics - Extracting data from text

5 – Basics - Replacing data with the replace() function

6 – Basics - Named capturing groups

7 – Advanced - Extracting multiple values using only 1 Text Parser

8 – More examples

What is a Regex?

A RegEx, or Regular Expression, is a sequence of characters that forms a search pattern . RegEx can be used to check if a string contains the specified search pattern. It isn’t a coding language but could be seen as one since there is a specific syntax using it.

Here an addition of @alex.newpath:
First, a regex is a text string. For instance, foo is a regex. So is [A-Z]+:\d+.

Those text strings describe patterns to find text or positions within a body of text. For instance, the regex foo matches the string foo , the regex [A-Z]+:\d+ matches string fragments like F:1 and GO:30 .

Typically, these patterns (which can be beautifully intricate and precise) are used for four main tasks:

  • to find text within a larger body of text;

  • to validate that a string conforms to a desired format;

  • to replace text (or insert text at matched positions, which is the same process);

  • and to split strings.

How to begin with RegEx

To be able to develop your own regex, there are a few very helpfull tools and processes which helps you getting started. These are my own personal recommendations, if you have anything extra to add up feel free to comment. Some of the things I use and do to make patterns:

  1. Regex101 for pattern development, syntax help and debugging
  2. Stackoverflow / Make community for questions and answers if you get stuck
  3. A make account and good dose of perseverance

Starting development

Before creating the regex module in Make, I always develop the pattern in Regex101 first. Once you’ve successfuly created your pattern, you can copy it over to the make module. Steps to take:

  1. Make sure you set the Flavor within regex101 on “ECMAScript (JavaScript)”. This is used by Make.

  2. When looking for patterns use the “Quick reference” in the right bottom to search for generic used patterns.

  3. Start the pattern development. If a pattern gets complex, split it up and start with something simple first.

  4. Once you succeeded and copying over the pattern to Make, make sure you group the pattern you want to output with brackets. See more information in the example below.

Basics - Extracting data from text

When you want to extract data out of a string, in Make you can use the “Match pattern” module within the “Text parser” app. Lets say I get some HTML data with an URL (href) and I want to extract the URL. It would look like this:

Test string
<a href="www.google.com">Google</a>

Pattern
(?<=href=\").+(?=\")

Output
www.google.com

Now, like stated above, when you copy this over to Make you need to make sure the output you want to retrieve is grouped with brackets. The above pattern will output empty since the output I want is not within brackets (even though regex101 gives you output).
So the correct pattern would be:

(?<=href=\")(.+)(?=\")

And now in regex101 you will also see it gets grouped:

Within make, you can now use this code in the Text parser module and get the data you want to extract.

Basics - Replacing data with the replace() function

Using the “Text parser” app you can also use the “replace” module to replace some text. However if you want to limit the amount of operations your scenario uses, or want to easily replace multiple variables somewhere the replace() function is ideal.

In the following example I got some text with HTML tags inside of it. For the output data I want to have clean text where all HTML tags are removed. What we will do is replace() all tags with an emptystring which basically means we will delete those items.



The syntax of the replace() function is as follows;

replace(text; search string; replacement string

text: this is the text you will search for
search string: this is the regex pattern between slashes
replacement string: what you are going to replace it for

In our example it looks like this:

{{replace(1.`raw data`; "/(<b>|<\/b>|<\/br>)/g"; emptystring)}}

The regex syntax is as following:
/<regex pattern>/<regex flags>

In this example we have multiple different HTML tags, so we are using a group with multiple alternatives “|”. Since the tags are also used multiple times we don’t want to stop at the first match, so we are using the /g flag to find all matches.

By using the replace() function you can either search for a certain pattern and remove it, or replace it with some other text.

Basics - Named capturing groups

Within the regex you create, you usually just get an output like $1, $2 etc. However this doesn’t show you much about what kind of data it has extracted.

Here comes the Named Capturing Groups in play which help you A LOT when developing these regex patterns. Basically a named group is exactly the same as any other pattern, however the output tells you the name of the patter it extracted.

As you can see, instead of the standard $1 and $2 we get the named groups h4 and p. The synax for this is as follows:

(?<h4>(?<=\<h4\>).+?(?=\<\/h4>))|(?<p>(?<=\<p\>).+?(?=<\/p>))

Inside of a group, when starting the group () we add the name of the group like ?<group name>. Then everything that is captured inside of this group will get called this way.

Advanced - Extracting multiple values using only 1 Text Parser

If you have a string with text which contains multiple variables you want to extract, you have 2 options;

  • Using multiple Text parser apps
  • Using 1 Text parser app which searches all patterns & aggregates them

Since we (at Drivn) personally like to build our scenarios efficiently and easily manageable, we usually go for the second option. With the second option you reduce the amount of operations you use + you can extract all values at once.

In the following example we get a dutch booking email to rent a boat, which holds multiple variables such as the;

  • Booking time (vaarduur)
  • Food requirements (hapjes & eten)
  • Amount of persons (aantal personen)
    etc.

We want to extract all values at once, and then add these variables in a google sheet. The following RegEx101 shows how we do this and which groups we get.

As you can see in the screenshot, this regex pattern contains a lot of alternatives and the Global flag. This basically means that it will try to find all groups & won’t stop at the first match. The syntax looks like this:

(?<vaarduur>(?<=Vaarduur\: ).+)|(?<eten>(?<=Hapjes & Eten\: ).+)|(?<personen>(?<=Aantal Personen\: ).+)|(?<datum>(?<=Datum\: ).+)|(?<tijd>(?<=Tijd\: ).+)|(?<vragen>(?<=vragen\?\: ).+)|(?<naam>(?<=Naam\: ).+)|(?<email>(?<=Email\: ).+)|(?<telefoon>(?<=Telefoonnummer\: ).+)|(?<registratieDatum>(?<=Date\: ).+)|(?<registratieTijd>(?<=Time\: ).+)|(?<registratieWebAgent>(?<=User Agent\: )[.\n\s\S]+(?=\nRemote IP))|(?<registratieIP>(?<=Remote IP\: ).+)

When we run this with a Match pattern module, it will output multiple bundles. Meaning that every seperate bundle will have it’s own variable, making it difficult to get all variables at once.

Since we want all variables at once, we will aggregate all bundles inside 1 array so we can easily extract them.

Last thing we have to do now, is extract the values we get out of the Aggregator and put them in our gSheet. As you can see within the output of the aggregator, we will have multiple collections inside of the array.

To retrieve the variable, finally we have to use a combination of map() remove() and get() to retrieve the variable we want:

What we basically do is

  • finding the variable in the array
  • removing all other empty variables
  • making a string out of the final array we get

More examples

Here an example from @alex.newpath

The regex below is borrowed from chapter 4 of Jan Goyvaert’s excellent book. What you really want is an expression that works with 999 email addresses out of a thousand, an expression that doesn’t require a lot of maintenance, for instance by forcing you to add new top-level domains (“dot something”) every time the powers in charge of those things decide it’s time to launch names ending in something like .phone or .dog.

Email address regex:

(?i)\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,63}\b

Let’s unroll this one:

(?i) # Turn on case-insensitive mode

\b # Position engine at a word boundary

[A-Z0-9._%+-]+ # Match one or more of the characters between brackets: letters, numbers, dot, underscore, percent, plus, minus. Yes, some of these are rare in an email address.

@ # Match @

(?:[A-Z0-9-]+\.)+ # Match one or more strings followed by a dot, such strings being made of letters, numbers and hyphens. These are the domains and sub-domains, such as post. and microsoft. in post.microsoft.com

[A-Z]{2,63} # Match two to 63 letters, for instance US, COM, INFO. This is meant to be the top-level domain. Yes, this also matches DOG. You have to decide if you want achieve razor precision, at the cost of needing to maintain your regex when new TLDs are introduced. 63 letters is the current longest length of a TLD although you rarely find any longer than 10 characters.

\b # Match a word boundary

Note in Make the (?i) modifier is implemented as an option in the text parser module so it must be taken out of the regular expression pattern.


And one from @JimTheMondayMan

In addition to the Text parser module that Bjorn pointed out, you can often just us the replace() function. There are cases, due to the differences in the implementation (like the multiline flag not being allowed), where using the Text parser is basically required. But in all my scenarios I think I have used the Text parser module twice. Everywhere else where I want to use Regex I just use good old replace().

Here is a little info on it from the documentation: String functions

Of course, you can use replace() to, well, replace with Regex. Most often, I use it as Bjorn used the Text parser module in his example, to extract data.

To use it this way requires a little change in perspective. Basically, to extract data, you need to MATCH the entire string, capturing (and replacing) only the part(s) you want.

To extract the same data as in Bjorn’s example using replace() you would get something like this:

replace(<a href="www.google.com">Google</a>;/.*href=\"(.+)\".*/; $1)

Some notes:

  1. In this case the global flag is not required.
  2. The multiline flag is not allowed in replace() (nor needed here)
  3. “$1” refers to the first capture group, the “(.+)” in the middle of the search string.

Happy integrating!

If you have any questions, feel free to place a comment below.
~Bjorn

32 Likes
REGEX to extract phone number from Text
Filter Text Parser (Match Pattern) Module
Combine multiple regex pattern module into 1
Replace text in bracket with Text Parser
Remove ID from Url
Split full name to first and last name
Remove special characters from file name
Using the Text Parser & Array Aggregator
How to download an output (for instance a CSV) from open-ai API module?
How to find duplicates in 3 arrays and place them first in a new array
Change Variable Value Every Loop
Error in date time microsoft calendar
Google sheets with variables
How to connect android phone and notion?
Telegram Voice message Download
How to shift elements in JSON?
Need Help: Sending Direct Message to multiple people on slack
Scanning social media platforms
Automation in Make.com to Process Prompts from Google Sheets, Generate Docs, and Stop on Empty Cells
Automated followup emails using OpenAI assistant
How to autocomplete Wordpress site via Google Sheets and Make 20,000+ pages?
Text aggregation of multiple text strings
Array Format
Need help to set up a "contains" filter, that works regardless from the words order
How to resolve 404 error in escenarios?
Regex from HTML pulling 100 bundles
Insert or update item in a CMS collection Webflow
Why isn't my scenario completing? it stops after the reddit module
Parse specific fields of a JSON
Filtering data between () in sentence
How to get my one ChatGPT answer into separate lines
Jira Cloud to ClickUp - Assignee field not populating?
Reference array of just emails for Google Calendar attendees (Error: Array of objects expected in parameter ‘attendees’)
HOW to create multiple records from multiple outputs from API call into Airtable Base
Replacing specific character
How to extract data from a Webhook like this?
Get value of array name
Error missing "email"
Google Calendar event to triget change in Notion database item
Connecting Open AI to Ulinc (LinkedIn Automation)?
Please help me to send a large attached file to Gmail to the email address organized in the Google sheet
Multiple Outputs in Switch Case Module
Monday files transfer to another table
Shared link from different products in the same e-mail
Trello - Find correct list to add card to
Run some modules only after all emails from last 24 hours are processed in a batch
Transform an array of objects
Introductions and Hellos
Multiple data in too multible rows
How do I get the names of files in a folder from a dropbox folder?
Typeform Webhook Mapping
How to join paths after a router
Encode special characters when sending data to API
Create JSON without keys with empty values
Webhook payload to gmail
Get a task From Get a task
InvalidConfigurationError in webhook when try to connect with Google Sheets
Make new array with values
Selecting Multiple Folders from Google Drive
How to Integrate LinkedIn Lead Forms with Bitrix24
Google calender to ghl(gohighlevel)
SQL Query to Sharepoint Excel to Update a Google Sheet
Automated form submissions
How to split a ChatGPT answer in different columns in GoogleSheet
How do I Automatically post a random picture to facebook everyday from a Google drive folder full pictures?
Get a task From Get a task
Facebook post with different image evertime
Text parser: multiple named groups in single bundle
I need to change attendees in Google Event and add AI bot to existed
Numeric aggregator but SUMing 2 separate values independently on each bundle
Setting up a balance parser from a website
Two (or more) Array Values in a one line
Can only access the first item in Google Drive search array
Uncheck the Trello Checklist
How To Integrate Chatbot Voiceflow With Facebook Messenger Using Make.com
How to make a basic SUM (x+x+x..) function in Make? Is it possible to use Numeric Agreggator?
Merging Arrays from different Array Agregators
Connecting Google Slides (failed To Load Data)
Aggregator not Aggregating
Converting a date from 1 format to another
Woocomerce + Kommo CRM
Taking Multiple Output Bundles and Saving it into different Variables
Cannot import JSON code made with chagpt
Is it possible to do diamond path?
Content of a google sheet as FAQ knowhow resource for ChatGPT
Learning Make Automations
Downloading file from google drive
Aggregate Collections to one Email
Image Attachment in Airtable - How to Get it OUT?
Issues with initializing flow with Microsoft 365 email
Transferring conversions from Amazon Attribution to Google Ads
Help with a workflow - company list>find CEO>find CEO contact details>push to sequence
Download images from a specific site
How Do I Deal with Multiple Aggregated JSON Values
Creating automated internet searches for an investment portfolio
How to Dynamically Insert ChatGPT-Generated Blog Topics into Newly Created Tabs with Make?
Automating the monitoring of peers' posts on LinkedIn
Filter based on email domain
How to remove duplicates from array aggregator before posting in bulk to Google Sheet
Iterator output not showing all when i try to connect google sheet module add row
Json parser from webhook passthrough result make.com
I want to setup my google drive upload a file module
How to make ann automation for Facebook page that teach English
Why are my available items/variables not representative of the entire output of the previous module?
Auto-liking comments and sending DMs to new followers on Tiktok
How to add a report received from Amazon Seller Central to Google Sheets?
Send invoice with attachment in email
Error handling on Data Store
Twilio calls
JSON Parse to G Sheets
Formidable - Upload multiple files with Get a File
Need help with PDF to Image conversion workflow - HTTP Module Error
How to sum value of multiple collections
Combine two results
Capitalizing all words in a sentence
Create completion gpt 3,5
Tracking Sytem
🎉 5k+ Makers Under the Community Roof
I can't filter on a custom field
Only One Row Processed into Usable Variables Instead of 8
Transcription (each video) of whole YouTube-Channel possible?
Cannot map output bundles into Discord module
Create a blog post concatened with previous post
Load data into webhook from external datasheet
How to trigger a module independently in the middle of a scenario?
Sending an Email to an Adress that is in the Text Content
WIX SHAREPOINT LIST Intergration
Understanding Nested Values in Make Iterator with Multiple Arrays
Filter/map array and return id
Daily data from FB ads to google sheets
Microsoft Excel
How to change the format of an array
Creat and host RSS
Aggregating Multiple Parser Outputs into a Single Google Sheets Row
Fetch all contacts from MailerLite
Is it possible to set up this integration in Make?
Editing text in Canva
How to send an email with a summary of excel information
Jotform submission to Quickbooks estimate Prohibited value in parameter 'type'
Telegram unique URL download
Set variable producing empty collections from http easybill
Put all the collection from an array as INPUT - not just the first collection of text
Modifiate privacy or no youtube videos
Unable to combine many bundles to one array, kindly help
Wordpress Module Multiple Categories
Google drive connect to youtube channel for post
Array to String delimited by newLine
NEED INSPIRATION: scenario with loops, different HTTP calls and databases
Make simple math with variable - 1
WhatsApp connection to Slack - Back and forth messaging
Message response
Webhook, Google forms and sheet
Fundamental Mapping Issue between modules - populated values appear empty at second module
Pagination and filters
Join function won't parse array
Set multiple variables from multiple Bundles
Unable to get a variable
Get+split split a string and get the first element
How to organise, read my e-mails and create a weekly summary
Google Forms checkbox and Airtable
Source is not valid JSON if key is not present
Working with array results after repeater
Save values in Array and iterate
Check Folders , if Folder not exist create the Folder
Help to apply gmail label once per message, not once per attachment
How to scrap music from youtube and push it to my blog
Google Sheets Data Showing up as dots
Hello I want to identify un template for engagement letter
How do I store this value in a variable?
How to pass texts from a user to a chatgpt from an array
Creating variables from multiple arrays from Array agregator
How to access collections in an array
NOCODB and make
I have aggregator ouput and now i want to calculate same sky value like how many cloudy,very cloudy, foggy, and rainy in list
How to adjust digit?
How to find the exact tutorial for auto blogging with chatgpt and googlesheets with keywords
How to parse 100 entries a day from a 20K csv file
Search within collection
Speed of access: AirTable vs Get From Array vs Sheet in Google Drive
New to Make.com
Question about automatic generation of drafts when receiving emails: About quote/reply all functions and AI learning
Parse String to get URL SLUG
Instagram "Watch Saved Media"
I need help: Spreadsheet > ChatGPT
How to properly use Array Aggregator to map Array with multiple collections for Batch Update Rows in Google Sheets?
Retrieve the individual values in an array that is combined on next module call?
Repeater - aggregating the the output of a http call which is within {data}
Combining two links from one array
Creating new Discord Guild Event [400] Invalid Form Body
Parse json
Google Drive Image to Pinterest Pin
Creating a Telegram bot for referrals with Make
Collection within an array and tryting to map in Google sheet
Unable to send a reply in outlook in the same thread
Creating content for text based game
How to extract data from a mail and forward it
Setting up a time filter
Connecting Multiple HTTP Routes to ChatGPT
DALL-E not generating all images
Convert multiple images to pdf
GetMyInvoice PDF to Airtable using Make.com
Convert different currencies and compose them into one message
I don't know about error handling in Make.com
How to do the connection between Glide and Google sheets?
How to flatten a collection in specific format?
Date difference calculation returning strange results in google sheets
Automate Website actions
Auto SRT files on Google Driver then Edit content and save new SRT file on new Folder
Custom App: How to connect from an earlier module?
Send lead information from Smartlead.ai to Monday.com
Is using acid triggers uses more operation in MAKE?
Learning automation
How to pull out one news item from a site by tags?
Launch actions according to API results
Gmail Filter Attachments and Send in New Mail
Hello Everyone
Suggestion on Integrate AI on Make
How to send emails from an existing contact list in a Google Sheets spreadsheet?
Comparing two dates
Problem with Creating Orders on Second Websites
How can I connect Vapi using make and GHL
Binary pdf corrupted in email attachment
Testing Make To Replace Zapier.... Help Getting Started
Api importing xml and parse
Etsy - ChatGPT - Etsy
How do I include table header when inserting filtered data from google sheets into openai as a text chunk?
Creating a pagination variable
Is my Repeater going nuts?
CSS Styling doesn't applied on Email
Run scenario even though there is no Data
How to organize/split this text into bundles
Parse String to get URL SLUG
Gravity Forms coupon code automation?
My google sheet works just the first time and then returns a data size of 0
Get Correct Time zone for Toronto for now
Make.com / Airtable Record Creation Problem Limit to 20 Records
Make sends email about Errors
Update Google sheet when making a quickbooks deposit
Issue with Formatting Date in Make.com Scenario Using Google Docs Template
Regex - Extract digits from a url
Help me to write get map
Output being used by a Module and then not available for future Modules
List All Screnarios Using ChatGPT Integrations
Help with Iterator: http dynamique value only return one value instead of 20
Trying to extract a code out of an email
Parse Json from OpenAI with '''json delimiter
VAPI call transcript extracted data into google sheet
Woocommerce Product images to Instagram Post Carousel
Issue Formatting Outlook Emails
Merging deals in Pipedrive CRM
How to Process JSON Data from Apify and Send Multiple Sections to ChatGPT in One Prompt?
Google form to proposal maker
Creati a repricing tool for Takealot.com
Phone number format
Accessing Data within Nested Collections from JSON Result
How can i combine several operation values into single string
Creating an email-parser to Notion scenario
Automate sending customized LinkedIn DM
Download all files in a ONEDRIVE folder and send in 1 email
Building a conversational Email Assistant
🏙️📚Help with Generating Complete E-Books from Google Forms and ChatGPT
Send data between make and sendpulse
CORS Error in Kommo API
Help with JSON coming in through webhook
RSS Feed to Google My Business Post - IMAGE Array?
Website monitoring
Scheduling a module to only run once per day
Making a chatbot in telegram
Make vscode
Custom GPT->Dataforseo "Get Search Volume"->Custom GPT
Extract lines from mailhook to be able to map to Salesforce fields
Seeking Advice: Automating Facebook Posts with Google Drive Images and AI Captioning Tools
"OpenAI GPT3 Answer following Question." Not getting it to work...?
Format Date always Returns 1/20/1970
ActiveCampaign Analytics
How to fix Google Sheets that is showing no data works a couple of times and then shows no data
Issue in Create a Zoom meeting from new Google Calendar events and add the meeting URL to the event
Finding images on sharepoint
Sending dynamic date fields with ISO format to a server
Having issue to map array of data from Custom app to another module
Can I please have a head-to-head pricing comparison between make and n8n so I can choose one?
Accessing value from a second iterator
Apple Calendar create Event in Plutio
Combine collection into one string
Send more than one PDF in the same email
Extract Column of data from Sheets and insert them as a row of data accross columns in another sheet
Creating a text string based on an array of collections
Send Multiple Attachments - Microsoft 365 Email (Outlook) / Create and Send a Message
FormatDate adds 2 or 3 minutes
Help Needed: Checking for Existing Rows in CODA via Make
Weekly and Monthly Follow Ups
When placeholder is empty I want IFstatement to return nothing, what am i doing wrong?
Issue with mapping both URL array and total bundles after text aggregator
Send one summary email instead of multiple ones?
Creating SMS reminders weekly for healthy eating
Systeme.io integration
XML Data deep Level Arrays
COUNT number of results
Google slides with make error 400 again and again
Copy Spreadsheet ID → Map Form and JSON data
Help with Simple Make.com Scenario for Telegram Bot and Google Sheets
Array display as [collections] [collections] [collections] in Webhook
Multiple Text Parser to one Flow
How to schedule using a specific date in ClickUp?
How can I connect Chat gpt with looker?
Make Custom Apps - How to iterate
Create shipping label
URL new post check in and scenario execution
Grab URL from Inoreader RSS Feed
Webhook issue
Transcribing Slack Voice Notes via OpenAI
Sync Loyverse inventory to Shopify
Excel Comma Separated string to Array Field in 'Update' Module
Need Help Automating Newsletter Sending with Make.com, Gemini, and Google Docs
Notion Get a file
Mistral AI API call
Date entered into database is a day earlier than the input
External connection
How to delete Schedule setting module?
Array Aggregator not aggregating?
How do I append bundles from multiple operations into a single output?
My if() function doesn't work ... why?
How to get tomorrows date?
I want to agregate all infos in one variable
Identical raw string names inside an array - how to map them (collections)
How do I paginate from a REST API with Next in Headers?
Pinecone api call, embedding is a array but when put into http it's a string
Automated google sheet to google sheet changing in discord
Pinterest Video Pin Errors | 9 Hours Work = No solution!🤯
Planning scenarios based on dates
Combine output to comma separated string
Tally Forms - Airtable - Search Record
How do I take a link and convert it to PDF
Filters not working with array aggregator?
API responding back not ok and causing error. How can I fix
How to use values from array
Sum strings within an array/collection using a formula (not iterator)
Is there an easy way to make an array from ChatGPT into mappable items?
Filter on "now" minus 15 minutes (date manipulation)
How to Separate the Data (Bundles to Variables with Name)
Calculations
Access database file to Zoho then email
Woocommerce gift card
Best way to clean chatgpt answers?
Data from HTTP weird display
Exploring Automation with Make.com: Where Can I Learn More
Synch subscribers beetwem PrestaShop and MailerLite
Automations Keep Running Even After Selecting 'Run Once'
Pulling several attached files from cognito form into a google drive
Duplicate Webflow CMS item being created -- Two Bundles?
Email filter
Sending email with outlook
Using Regex formula for device detection in WooCommerce orders before export
Automate social media
🧱 How do I reverse a group of bundles?
✂️ Is there some feature that will eliminate a newline or carriage return from text?
Trying to get the number that appears in the "total number of bundles" but gets all the bundles themselves
Base64 to Image
Hot to retrieve prestashop product images?
Half of the data is missing
How to check if a name file exists in Google drive to not upload it
Sorting an array by number - still failing after trying a few solutions
Email reminder for Zoom Meetings at a special time
How to get Back Data?
Is there an inverse of a router?
Format date and time for workdays
Make.com System Error – Repeated Message Sent 1,000 Times
Filter date : 7 days ago
Introduction to the community memmebers
Need to set multiple variables from collections inside an array
Woocommerce order : only one sku gets imported to my google sheet cell
Video Interview Bot
parseDate refusing to parse an RSS date
Filtering Bundles Based on Date in Arrays
Make an API Call of Module Microsoft 365 Email (Outlook) gives always RuntimeError: "[404] Invalid version: https:"
Receiving card transactions from wise (Makemarket.io)
How to extract 2 columns from a csv
I have a range in a google sheet which contains a list of dates
Split text into array and bundle
SQL DATABASE and Make
How to make text escaping in Make or how to automatically replace these quotes and line breaks with correct ones?
How to make a Telegram bot which can book/reserve smth by adding information into Google Sheets
Converger/merge Merging Paths After Voice Transcription in Instagram Automatio
Unable to Map an array received from HTTP response
Todoist Completed Task Trigger Completed Date
Can 1 scenario do multiple runs at same time?
How to use Cloud Converts Merge Files Module
Filtering an array based on multiple conditions, without iterator and filter?
Publish a LinkedIn post based on world news
Integration of amoCRM and Coze
Trying to get output from Perplexity AI into Airtable
Simple question in scenarios
Calendly specific event type from specific user to Keap CRM
How to post with 2-5 images from Page A to Page B?
One webhook output to 2 modules in a scenario
TikTok Lead Generation on Make?
Need Help Filtering Google Sheets Data by Date
Send some Airtable info in Slack Post based on field value
Get specific text from a variable
Search a specific prashe, and reply to all postes xtwitter
Extract text (split / parse)
Remove spaces between words, remove special characters
Exclude products
Automatic script activation
Time trigger module
String splitting to create multiple variables
Creating an Outlook Calendar Event without timeszones
Sendgrid API Call - problem
Error Handling Unit 2 - if condition always true
Automate email campaigns with Gmail
Pandadoc with Make
Connecting a Personal Gmail account for a restricted activity
How would you get all values from specified elements without using iterator?
Forwarding telegram images from one channel to another
Dialogflow & Bitrix24
How to route to modules based on collection count
Connnect Wrike projects to Clockify
Combine data when some routers don't get executed
Sorting Downloaded Files by File Name to Upload them in preferred order
Text Parse from Email Subject & Body
Display mileage between zip codes - Only able to pull data for first value
Separating parameters from a list to individual fields
Update Google Sheet row based on today's date
Unable to watch product on shopify
Custom webhooks, data disappear!
How can I get my Notion DB as a comma-separated text?
Array (text), filtered, grouped, joined
Text Aggregator Not aggregating
How to post from instagram to telegram
Create an array from an array with collections
I don't succeed in publishing two different categories on wordpress
Filter RSS entry with multiple keywords and "deduplicate" entries
Converting collection in array into plain text
Iterate bundle contents into a single field of Airtable base or Google doc
"Create JSON" node automatically converts to UTC 0
How to grab youtube video thumbnail and post on pinterest using make.com
Text Parser only returning 1 Bundle
Determine if a given date is a Saturday or Sunday
Support and tutoring in automation project with Make.com
Keep value inside many collections
Instagram new follower to Contact Automatically
How can I compare time
Passing array of JSON to data structure
How to populate an array on a new line each time
Compare 2 arrays with each other in a filter does not work
Help with set variable in tool
Automate Post Pictures Facebook & Instagram
Webhook Creation
3 identical operations Todoist
Merge multiple JPGs into 1
Writing new pins on Pinterest with chatgpt and creating new picture for every pin
Is it possible to receive Image from Line then lets the ChatGPT Working with its?
How Can I change Response to Bundle and put on gogole sheets
How can i retrieve value from HTTP response?
Get a tweet from X
How to fix Text Parser?
Mapping Multiple files and attachments in Database Item A -> Database Item B - Notion
How to route if over 50000 character limit
Creating a telegram chat bot to only answer to replies
Does this function exist?
How to join output fields from multiple API calls in one Scenario?
Run an automation only when new data is received
Why is Polling at make.com is so damn hard?
Typefom Listening to a workspace that listens to all the forms
How manually validating a text
Google Scholar Alert Email to Google Sheet with Article Links
Add Beehiiv Subscribers Into Clickfunnels & Send Email Sequence
What's the best way to learn make?
Auto respond to new Google Reviews?
Ai voice assitant get Variables
How to format time from AM PM to 24 hours time?
How to extract and remove from a html-code
Instagram content commenting automated comment bot issue
Email scheduling
How are community integrations built?
New Airtable's AI not been parsed corectly
How to combine bundles from multiple operations into one text string
Properly mapping fields from OpenPhone module
Searching for one value in Airtable and extracting all arrays having the keyword in it
Merge Routes
Connect a Cognito entry to a Google sheet row
Using make to filter data on google sheets
Get text parts from received emails and use them as a mappable answers
How can I concatenate the result obtained from a text parser (match pattern) to write the result in a Google Sheets cell?
Where do I find the profile icon per the make website tips
Merging array and text aggregator for a single Instagram post
Collection / JSON into CRM
Creating a JSON out of an Array
From Where Should I Start From?
How to add condition modules
Extract Data from a collection
Creating Google doc in the sequence, then amending it later in the sequence
How to automate this scenario? Is there a tutorial for it?
HTTP Basic Auth Not Logging in
Help Needed: Mapping Comma-Separated Values from Adalo to Google Sheets Columns
Add a text/field name if a value exists
Email lead magnet
Iterator to HTTP 'Get a file' module : "Invalid URL in parameter 'url'" error
Spotify Playlist reporting to Discord channel message - how to sort the text aggregator alphabetically?
Optimize Paring Values Of Two Items
How to create a comma separated string and strip any inputs that are empty
How do i use the "if" to produce 3 answers
Array Values to an string
How to connect google account to make platform
HTTP request runs into timeout
How to add sublines in Notion automatically?
Split First and Last Name
Parsing an array from glide to use as a chatGPT prompt
Error with map
I need to extract various data from a text that Chatgpt gives me in a JSON format. But the JSON parse only extracts 3 pieces of data for me
Selecting random article from RSS feed and post to external system
Filtering array items based on how often a value occurs
How to convert a title variable to a filename
How to automate tweet from old blog post articles
Filter for date is not working
VERY new here, is this an amateur question re: The operation failed with an error. [400] Invalid Form Body
Automated Job Board in Wordpress
Multiple regex filters for parsing
Boolean true/false mapping issue
How can I put local excel file to database
Help with removing commas
Text parser table into google sheet
How to unload all unzipped files?
Help me understand if what I'm trying to accomplish is even possible (dynamic JSON structure)
Can I add "https://" to a variable without it?
Process calendar items to send to Google Calendar
Create Make.com scenario involving Google Sheets, Airtable, and WordPress
Array of Object Iteration
Splitting Combined Fields in ClickUp Using Make.com
Random message passing on Telegram
Make Academy Intermediate: Variables in get() and map()
Error Passing Looker Studio Outlook Email Attachments to ChatGPT for Analysis
Monday Connect Subitems to Items on Another Board
Array Aggregator
Continous Running
Need some help extracting NS records from Array
Need to add or remove a discord role for users based on Google Sheet Data
How do I sum different attributs from different bundles and store the output in the original attribute name so they can sum only the same values from each bundle
Splitting data in a collection/array
Adding in line to google sheet scenario
How to update WP post's permalink programmatically based on post ID?
Bundles are not showing up as Dynamic Fields to Map into next step
Wish You Were Beer Shirt
Integration for github and monday.com
Automation Recruitee to Personio
API to Webflow CMS - Deleting item make the scenario run 20 times
Struggling to map a nested array from a webhook
Need Help Customizing Gallery View in Notion
Get length of arrays which are not empty
Get the 'Scraptio' module to pull back a list of links on a website that contain the word "about"
How to get the text content of a txt.file to a chat GPT assistant
Cannot Process data because of the error
API call output not parsed entirely
Receive email to label and Instantly sends message to slack
Issues with getting empty row number
Sum values in a bundle
Linking rss feed into chatgpt and posting on Wordpress
Clickup | List all custom fields available options to Google sheets
Is it possible to create a flow which creates a product description from a picture
How to get time date filter to work
Simple aggregation causes invalid json
Sort a complex array of collections
All possible combination into 1 email?
Data from first step not shown in the second
Greather Than filter
Struggling Mapping Aggregator Output
Need optimisation help
How to extract values from Kommo to Google Sheets
Problem with Google Sheets and ChatGPT automation
Text formatting support
Detailed assistance for setting up an automated workflow with Make, Google Sheets, Content.ai, and WordPress
Set values of Array to Variables
Synchronization from Loyverse to MySQL
Parse Date Error
Parse Date Error
Convert Array to HTML Table for Email Content
Updating Variation issue
Extracting multiple values from long string using regex
Manually selecting from the results of a previous action?
Iteration over multiple Arrays
Split Open Ai output to multiple outputs
Create a Purchase Order with multiple items - Create Single PO with multiple items listed from array
Get function not working sometimes
Generate 10 Random numbers from 1-100 but the same
Convert ararry with a lot of lines into a lot of seperated items
Streamlining a Scenario
Totally new to Make... want to learn what coding skills I need
How can I scrape the text of a LinkedIn Article?
Google Calendar Busy Times Error
Is it possible to do diamond path?
parseDate won't accept format token other than X if given unix time
Epoch Timestamp
Issue with Converting Array Items to Strings Before Passing to Python Module in Make
Get actual month and day in separate variables
Automate a recruitment workflow: Make, Workable, & Slack
Online form output to user?
Can Make automatically check specific news websites in my area fior mentions of my organisation
Combine multiple items from an array to a single text
Array from JSON webhook into multiple rows Google Sheets
How to add 1 category to an Outlook message
2 photos from Google Drive to Instagram Carousel
FIlter out the for only 1 Biggest Bundle by Using MAX
Text Parser to Google Sheets - 3 bundles to 3 different columns (now 3 different rows)
How can I add a number dynamically according to the amount of arrays?
Unpacking collection
Replacing Data within a JSON (set In)
Slack sending multiple same messages instead of one
Repeating OpenAI request to generate similar results on same row of Google Sheet
How to filter lowest value and keep the results
Splitting data in a collection/array
Inserting image links into correct places based on section # and img file #
Syncing Toggl Projects to Airtable with Make
Double issues : one with \" in JSON array and another with Date formatting
Using ChatGPT to tell me if news is worth reading and summarising
Share Instagram carousel on telegram (description of photos)
Trouble getting data from deep nested array
How to connect multiple outputs to one?
Airtable comments
Operation Efficient Way To Combine Multiple Collections
Use iterator to store multiple line elements in google docs
Issue with Scraping a Website
Filter not picking up all custom fields
XML to Ninox
Issue with Automating Google Drive Photo Uploads to Facebook Page
Dev my first workflow
Hubspot search updated contacts by date
Struggling with mapping an item from array
30,000 Extra Operations being automatically consumed
Renaming Multiple Folders/Files in Google Drive
Send multiple google drive files based on criteria
Getting An Item Position from Array if it matches the value
How to split and manage multiple bundles from Google Sheets to Google Docs Template
Finding the total number of bundles without using the iterating function in the iterator module
Clip a long video into smaller clips with provided timestamps
How do I remove words from a string if they appear in an array?
Why my scenario goes on infinite loop?
Convert to plain text
Automatically calculate Content-Length for HTTP request headers
Filter by date and wait for time condition to be met
How to return the first word in a given string
Convert "Result" into separate fields
Twitter uploading media issue
Calendly integration with shots
Write articles with Ghost CMS - open AI and SEMrush?
How to create a custom array of an item repeated N times
Wait for operations to finish before next module
Synchronising WooCommerce with my provider's API
Is it possible to automate content creation for a website?
I want to upload the google spreadsheet file to google drive as a .csv file
Webhook + XML Parser: how to reference variables returned by parser?
How to fully connect the Telegram bot to GPT to handle all photo, text
Read a specific Google SERP
Skip modules in a scenario
Drip batch API and Make
Can any one help me i want create blueprint for telegram messages to an article on blogger
Reading API call results
Writing to Google Sheets from Perplexity API
I need to create an automation that automatically populates my google sheets with income statements data
AI Article
Help on automating an idea in make
A virtual concierge service via WhatsApp
Extracting specific data/items from JSON
Import start and end from Outlook Calendar to Asana
[YOUTUBE] Need to make an Automation that Comment every Vídeo that a Creator (specific) uploads
Map() & Get()
How to erase or add empty characters with regex in text parser?
Basic basic basic what do I need, create blog posts, get chat gpt to write the post then upload to dropbox
Text Parser (Regex only Alphanumerical)
How to integrate whatsapp with chatgpt
Scenario for FirstResearch.com
Quote scrapping
How to approve or reject a text if not falls under specific category
Integrating Webflow Form Submissions with ClickUp
DocuSign and ClickUp Integration
Google sheet to Gmail
Array Aggregator in ONE Google Docs
How to connect google alerts to telegram bot
Execute a Query and insert Rows to MySQL table
Microsoft 365 Calendar | Sending to Multiple Bundles
Insert links in 200 texts from a 250 keywords and url on a google sheet
How can I monitor on a new row added in a Table in PostgreSQL in Make
How can i optimise the number of api calls, and cell updates in this scenario?
Bland Ai + make to send an email
Troubleshooting Single-Cycle Issue in Telegram Bot Scenario
Telegram bot powered by openai which can operate google sheets and calender
YouTube automation
How to create multiple records from 1 value with multiple data
Automated Research Database with ChatGPT, Make, Google Drive, and Google Docs
Access JSON field dynamically
Incorrectly truncated text parsing
Format phone
Can't get exact values from PARSE JSON output in the next module input
Get JSON string from Data Store in Email
Full automation
Pick two random items from an array
Automations for Gainsight
Daily report for scenario executions
How to Select a Random Image from Google Drive and Linking It to Data in Google Sheets
Split and Parser results
Isolate an item
How can I use yyMMdd_HHmmss instead of {{timestamp}} in filenames?
Free Automated newsletter
Output the date and month
Filter by multiple days of week
Aggregating/Formatting Google Calendar "Get Free/Busy Information" Module
Convert Gdrive document download into string to send to GPT
My scenario doesn't continue after "Ignore" error handler
Resuming while Erroring
One email for mutltiple Routes
PrintNode Integration not Populating Fields with Values from previous step
Using contains() to filter arrays
Sudden increase of operation used
Cant find the rest of my Arrays
Need to Create LinkedIn & Excel workflow
Google my Business Integration
Referenced module 'GoHighLevel LeadConnector - Create a Contact' [9] is not accessible
Make coach
How to grab the last item of an array?
Outlook Newsletter
Instagram Bot
How to Combine PRID and Token into a JSON Object for an HTTP Request in Make.com?
How to save results from iterator to Airtable and Make.com
How to I acces this value?
Traffic Management
Automate Linkedin Outreach
How to do this?
A tutorial in French
Automatic document sending from my website
Creating a scenario for custom email generation for leads in Google Sheet (1 Email per brand)
Intelligent analysis form for women undergoing mastectomy for breast cancer
Separating the values of the iterator or variables into different cells in Google Sheets
Trouble Aggregating and Summarizing Multiple RSS Feeds for a Single Email: Only First Feed Processes Correctly
How to collect and organize file IDs from multiple Google Drive bundles?
Connecting 2 branches to a module
Make is not saving the PROMPTS for the GPT integration
How to get a Facebook Messenger API for automating data archiving?
I need a professional to help me set up a project for the company
Create a multiconversational thread for OpenAI Assistant and WhatsApp API
Is it possible to send templates to contacts created in ManyChat using Make
Setting up an inbox management flow with Outlook and ChatGPT
Create a booking system using ManyChat and Google Sheets
Trying to connect my mobile notifications from “Porter.in” app as WhatsApp message
How to get unique items from an array of collections
Help needed: mapping fields from GPT Vision to Google Sheets
Send information from a Slack workflow (a form) to fill a Notion Database
How to track dates 14 days and older and 30 days and older in Google Sheets
Automate extraction of invoice data from shared Google Drive
Help with google calendar scenario
How to deploy automation flow on cloud service such as AWS or Azure
Rename a File (Email > Download PDF > Rename > Upload)
Discord watch channel messages
Extract a paragraph from text parser
My back-end does not work on all devices
How to agregate multiples operations?
Hour transfer
Remove the "https://www." from an URL
Map() function error - ‘{empty}’ is not a valid key
Get data from several collections
My scenario does not run automatically
Collection can’t be converted to text for parameter
Webhook doesn’t receive all data or does not pass the full set of variables to Airtable
How to Format and Import Data from a Single String into Excel Correctly
Join Two Identical HTTP Payloads Module Outputs Together
Is it possible to add gpt assistant in instagram direct?
Need help with simple filter http response
Iterator to HTTP 'Get a file' module : "Invalid URL in parameter 'url'" error
Can anyone help me in figure out a simple regex pattern to get few details
How can I extract the name from this sting of data
How to extract Name, phone number and location(optional) from this email
Get everything after "City:"
Extrair informação do Mailhook
Make a simple scenario to connect to the FPL API and store the json data in a CSV file
The ultimate Make Documentation Topic
Retrieving a collection from deeply nested arrays from trello HTTP request
Separating (+) from a Phone Number
Mapping Parsed Text Bundles to Individual Notion Fields: Make Workflow Help

Wowzers, thanks so much for the neat tutorial, Bjorn :muscle: Seasoned Make users swear by the usefulness of regex, and your post only further underlines it!

4 Likes

Thanks @Bjorn.drivn I’m literally going to bookmark this post for future regex projects. I’ve used some of these tools before, but this is a great overall resource for building regex expressions!

Thanks for the post!

2 Likes

I agree. Regular Expressions can be VERY useful!

In addition to the Text parser module that Bjorn pointed out, you can often just us the replace() function. There are cases, due to the differences in the implementation (like the multiline flag not being allowed), where using the Text parser is basically required. But in all my scenarios I think I have used the Text parser module twice. Everywhere else where I want to use Regex I just use good old replace().

Here is a little info on it from the documentation: String functions

Of course, you can use replace() to, well, replace with Regex. Most often, I use it as Bjorn used the Text parser module in his example, to extract data.

To use it this way requires a little change in perspective. Basically, to extract data, you need to MATCH the entire string, capturing (and replacing) only the part(s) you want.

To extract the same data as in Bjorn’s example using replace() you would get something like this:

replace(<a href="www.google.com">Google</a>;/.*href=\"(.+)\".*/; $1)

Some notes:

  1. In this case the global flag is not required.
  2. The multiline flag is not allowed in replace() (nor needed here)
  3. “$1” refers to the first capture group, the “(.+)” in the middle of the search string.

Jim

5 Likes

6 posts were split to a new topic: Using regex for an optional string

Thanks for that, @Drivn. I noted you are a Make regex flavor user, and hope you can shed some light on my issue.

I have a scenario - mailhook => iterator => awsS3 which:

  1. Accepts an email;
  2. if it has attachments, forward it to the iterator;
  3. if there is a particular “key:value” pattern in the email text, use the “value” as the folder variable in the S3 Put function.

All works, except parsing out the “value” portion in the S3 module.

The pattern I use in the email if I want the folder changed is: [fpath:somefolder/anotherfolder…]. I put it as first line in forward or direct email.

The formula I use in the folder variable of the S3 model is:

{{if(indexOf("[fpath:"; "!=-1"); replace(1.text; "/^.?\[fpath:([^\s\]]+)]?.+$/s"; "$1"); "")}}

(with or without the quoted text)

The issue is that the capture - ([^\s\]]+) captures the ENTIRETY of the text field - that is, $1 shows ALL of the email’s passed 1.text field, not just the capture, even though the following text is clearly outside the capture parentheses. Any thoughts?

…also tried:

if(indexOf("[fpath:"; "!=-1"); replace(1.text; "/^.?\[fpath:([^\s\]]+)]\n"; "$1"); "")

with and without an ungreedy ? after the \n.

@bullit

I don’t think the problem is that “([^\s]]+)” is capturing everything. Rather you are matching/capturing nothing. So you are just getting back the original string. My guess is that the the single line flag does not work with replace.

Try replacing "/^.?\[fpath:([^\s\]]+)]?.+$/s" with "/^.*?\[fpath:([^\s\]]+)]([^a]|[a])*/".

This will accomplish basically the same thing without requiring the single line flag.


Jim - The Monday Man (YouTube Channel)
Watch Our Latest Video: The monday ITEM ID column - What most people don’t know.
Contact me directly here: Contact – The Monday Man

2 Likes

Brilliant. Thank you!

Thank you for the amazing tips!

We have combined HTTP, RegEx and Hash to keep track of changes in websites that have tables with the status of a series of licensing processes. If the Hash for the captures portions of the Http changes, we alert the user of interest of that particular record and include the http table with the updates information.

It was a break-trough for us since the service provider didn’t have any APIs.

3 Likes

I came across this amazing resource when reading about regular expressions.

It has this gem of a definition for regular expressions (ie Regex):

What is a Regex?

First, a regex is a text string. For instance, foo is a regex. So is [A-Z]+:\d+.

Those text strings describe patterns to find text or positions within a body of text. For instance, the regex foo matches the string foo , the regex [A-Z]+:\d+ matches string fragments like F:1 and GO:30 , and the regex (?<=[a-z])(?=[A-Z]) matches the position in the string CamelCase where we shift from a lower-case letter to an upper-case letter.

Typically, these patterns (which can be beautifully intricate and precise) are used for four main tasks:

to find text within a larger body of text;

to validate that a string conforms to a desired format;

to replace text (or insert text at matched positions, which is the same process);

and to split strings.

1 Like

Here’s probably the best email address validator I have come across.

The regex below is borrowed from chapter 4 of Jan Goyvaert’s excellent book, Regular Expressions Cookbook. What you really want is an expression that works with 999 email addresses out of a thousand, an expression that doesn’t require a lot of maintenance, for instance by forcing you to add new top-level domains (“dot something”) every time the powers in charge of those things decide it’s time to launch names ending in something like .phone or .dog.

Email address regex:

(?i)\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,63}\b

Let’s unroll this one:

(?i) # Turn on case-insensitive mode

\b # Position engine at a word boundary

[A-Z0-9._%+-]+ # Match one or more of the characters between brackets: letters, numbers, dot, underscore, percent, plus, minus. Yes, some of these are rare in an email address.

@ # Match @

(?:[A-Z0-9-]+\.)+ # Match one or more strings followed by a dot, such strings being made of letters, numbers and hyphens. These are the domains and sub-domains, such as post. and microsoft. in post.microsoft.com

[A-Z]{2,63} # Match two to 63 letters, for instance US, COM, INFO. This is meant to be the top-level domain. Yes, this also matches DOG. You have to decide if you want achieve razor precision, at the cost of needing to maintain your regex when new TLDs are introduced. 63 letters is the current longest length of a TLD although you rarely find any longer than 10 characters.

\b # Match a word boundary

Note in Make the (?i) modifier is implemented as an option in the text parser module so it must be taken out of the regular expression pattern.

2 Likes

This is absolutely awesome @Bjorn.drivn!

If there’s one thing I might add, for people who have never used RegEx before, regexone.com is a great place to learn the basics. You can “cheat” on some of the tasks and complete them without the operators the lesson is trying to teach you, but if you follow the intended steps it’ll give you a decent overview of what you can do and more importantly, how to do it. :slight_smile:

3 Likes

For people watching this topic and interested in updates…
We have just updated this topic with :

5 – Basics - Replacing data with the replace() function

6 – Basics - Named capturing groups

7 – Advanced - Extracting multiple values using only 1 Text Parser

3 Likes

Here are a couple of videos that might help, especially with generating REGEX, when you aren’t a REGEX expert:

Chat GPT & Make.com: How to Generate REGEX to Match Text Values in Make.com

Chat GPT & Make.com How to Replace String Values in Make Scenarios With ChatGPT Regular Expressions

Andy @ Weblytica.com

4 Likes

3 posts were split to a new topic: Using contains() to filter arrays

@JimTheMondayMan , A question do you know how to use regex in order to send break line to Microsoft Word?

Thank you for this excellent overview - RegEx is extremely useful for replacing, extracting and filtering. It is also a bit of a headache, even if RegEx 101 is helpful. Today I use Claude/ChatGPT or any AI to write my regex, effortless, explained in detail, and never fails.

Here’s Claude AI

Create a regex to extract all image URLs from a HTML document - use named capture groups for the url, using ECMAScript syntax.

<img\s+(?:[^>]*?\s+)?src=["'](?<url>https?:\/\/[^"']+)["'][^>]*>/gi

4 Likes