Use the following formula to obtain the query you want.
In the reference it is explained by Ahab that + and * can be used as boolean expressions, as OR and AND.
The solution with the IFERROR (see revision history) is of no use in this case, unless you want to find a particular string:
Google Search can return the matches of some simple regular expressions.
For example, the search query
appears to be equivalent to
("gray wolf" OR "red fox" OR "red wolf" OR "gray fox")
You can see the output of this search query here.
In Google Spreadsheets, I would do it a bit different.
=COUNTA(SPLIT(A1, " "))
The SPLIT function is only available in Google Spreadsheet and will split the cell's content on every space (" "). The COUNT function will simply count the instances.
The Excel formula gives the same answer, but a bit more laborious:
This formula will do the job:
If no @ is found, the original value is shown.
The =regexextract function (documentation) executes the regular expression parameter (@(.*)) against the value of cell A1, and returns the matching group.
I was just looking for a similar feature in IFTTT, but then discovered that Zapier (kind of) supports this. They're not proper regex's but it does pattern matching of sorts
Might be good enough for what you need!
You can write a piece of software to:
Take the keywords from the regular expression;
Google the keywords and get a list of results;
Crawl each resulting URI and filter it with complete regular expression.
Let's study a case: from site:gog.com find all games that have Spanish voice-over.
The regular expression is:
It shall match, ...
You just need to use the backslash to escape the period character, so you have one of two options:
for regexextract to capture everything after the period, thus ignoring everything before it:
or regexreplace to replace everything including and before the period:
If your email address (firstname.lastname@example.org) is in A1
=index(split(A1,"@"),0,2) = example.com
=index(split(A1,"@"),0,1) = bob
You are splitting on the @ and than using index to select which column you want from the split.
I would use the following formula to obtain an URL.
"No valid entry"
Copy / Paste
If you, as Ryan Shillington suggests, want to know the number of cells within a range that has "sites" in it, you might try:
The * acts as a wildcard notion, so it will look for a match anywhere within the cell, not just an exact match for the whole cell.
I've also done this with a cell reference instead of "sites", but ...
Instead of using the built-in find and replace function use Google Apps Script or an add-on.
Two solutions here:
Google Drive Spreadsheet - Continue with using the speadsheet as linked, but limit the search area to avoid hitting the "Exceeded maximum execution time".
Download via IMAP
1. Google Drive Spreadsheet
It's possible via a Google Drive Spreadsheet.
The original credit for Regular Expression based search of Gmail emails goes to Labnol....
It is possible to search Wikipedia (or any other site that a search engine can access) using simple regular expressions, as long as you rely on an search engine. The following Google search query searches Wikipedia for matches of the regular expression (Yahoo|Google|Microsoft):
It's available and powered by the CirrusSearch (based on ElasticSearch) which is the used search engine in the MediaWiki sites, and the Wikimedia platform.
Some usage examples:
Note: Full guide reference, and source - on Wikipedia: Help:Searching#Search_string_syntax.
As for your question:
The search engine supports boolean logic ...
Contrary to what I had concluded earlier, "where 'string' matches B" works:
Description Expected Category Inferred Category
bla 1 cat1 =query(A$1:B$3, "select C where '" & A8 & "' matches B limit 1")
bla 2 cat2 =query(A$1:B$3, "select C where '" & A9 & "' matches B limit 1")
bla blue 2 cat2 ...
You could try splitting this into two parts returning the latter part as upper. Not sure how to nest the upper inside the regex in Gsheets.
=REGEXEXTRACT(A1,"stri") & upper(REGEXEXTRACT(A1, "(ng)"))
this returned for me:
string > striNG
Just a guess, but OP may want something like this:
=query(A:A, "Select A where A matches '.*/[A-Z]+/.*' ")
to select from ColumnA only cells containing nothing but Latin alphabet upper case letters between two virgulas suspensiva (forward slashes) whether or not in the context of other characters.