Find a string between 2 known values
Solution without need of regular expression:
string ExtractString(string s, string tag) {
// You should check for errors in real-world code, omitted for brevity
var startTag = "<" + tag + ">";
int startIndex = s.IndexOf(startTag) + startTag.Length;
int endIndex = s.IndexOf("</" + tag + ">", startIndex);
return s.Substring(startIndex, endIndex - startIndex);
}
Find string between two substrings
import re
s = 'asdf=5;iwantthis123jasd'
result = re.search('asdf=5;(.*)123jasd', s)
print(result.group(1))
Extracting a string between other two strings in R
You may use str_match
with STR1 (.*?) STR2
(note the spaces are "meaningful", if you want to just match anything in between STR1
and STR2
use STR1(.*?)STR2
, or use STR1\\s*(.*?)\\s*STR2
to trim the value you need). If you have multiple occurrences, use str_match_all
.
Also, if you need to match strings that span across line breaks/newlines add (?s)
at the start of the pattern: (?s)STR1(.*?)STR2
/ (?s)STR1\\s*(.*?)\\s*STR2
.
library(stringr)
a <- " anything goes here, STR1 GET_ME STR2, anything goes here"
res <- str_match(a, "STR1\\s*(.*?)\\s*STR2")
res[,2]
[1] "GET_ME"
Another way using base R regexec
(to get the first match):
test <- " anything goes here, STR1 GET_ME STR2, anything goes here STR1 GET_ME2 STR2"
pattern <- "STR1\\s*(.*?)\\s*STR2"
result <- regmatches(test, regexec(pattern, test))
result[[1]][2]
[1] "GET_ME"
Finding a string between two ranges of strings or end of string
You may use
(?<=start\s).*?(?=\s+(?:then|stop|other)|$)
See the regex demo. To search for whole words, add \b
word boundary in proper places:
(?<=\bstart\s).*?(?=\s+(?:then|stop|other)\b|$)
See another regex demo
Details
(?<=start\s)
- a positive lookbehind that matches a location immediately preceded withstart
string and a whitespace.*?
- any 0+ chars other than line break chars, as few as possible(?=\s+(?:then|stop|other)|$)
- a position in the string that is immediately followed with\s+
- 1+ whitespaces(?:then|stop|other)
- one of the words|$
- or end of string.
T-SQL Extract string between two known strings
CHARINDEX
has a third, optional argument, which is the start. Modify your query as follows to begin looking for --- after the first occurence.
select SUBSTRING(@Text, CHARINDEX('Original ----- ', @Text)
, CHARINDEX(' ----- ',@Text, CHARINDEX('Original ----- ', @Text) + len('Original ----- '))) + '-----';
A quick Fiddle to demonstrate.
Regular expression to get a string between two strings in Javascript
A lookahead (that (?=
part) does not consume any input. It is a zero-width assertion (as are boundary checks and lookbehinds).
You want a regular match here, to consume the cow
portion. To capture the portion in between, you use a capturing group (just put the portion of pattern you want to capture inside parenthesis):
cow(.*)milk
No lookaheads are needed at all.
Regular Expression to find a string included between two characters while EXCLUDING the delimiters
Easy done:
(?<=\[)(.*?)(?=\])
Technically that's using lookaheads and lookbehinds. See Lookahead and Lookbehind Zero-Width Assertions. The pattern consists of:
- is preceded by a
[
that is not captured (lookbehind); - a non-greedy captured group. It's non-greedy to stop at the first
]
; and - is followed by a
]
that is not captured (lookahead).
Alternatively you can just capture what's between the square brackets:
\[(.*?)\]
and return the first captured group instead of the entire match.
Regex extract string between 2 strings, that contains 3rd string
Try this pattern:
TG00[^#]*TG40 155963[^#]*#
This pattern just says to find the string TG40 155963
in between TG00
and an ending #
. For the sample data in your demo there were 3 matches.
Demo
Related Topics
C# (Mono) Linux Web Server Hosting with Consistent Static Variables Across Threads
Casting a Result to Float in Method Returning Float Changes Result
How to Parse Hex Values into a Uint
Change Desktop Wallpaper Using Code in .Net
What Does the Tilde Before a Function Name Mean in C#
C# Dictionary - One Key, Many Values
C# Version of Openssl Evp_Bytestokey Method
Bulk-Deleting in Linq to Entities
How to Write Programs in C# .Net, to Run Them on Linux/Wine/Mono
Duplicate Keys in .Net Dictionaries
Authorize by Group in Azure Active Directory B2C
Xdocument Containing Namespaces
How to Check If Wpf Is Currently Executing in Design Mode or Not
How to Force All Referenced Assemblies to Be Loaded into the App Domain