Regex for anything between []

regex match between parentheses
regex find string between two characters
regex match between two strings multiline
regex between brackets
regex everything between two characters
regex between two strings
regex match after first occurrence
javascript regex

I need to find the regex for []

For eg, if the string is - Hi [Stack], Here is my [Tag] which i need to [Find].

It should return Stack, Tag, Find

Pretty simple, you just need to (1) escape the brackets with backslashes, and (2) use (.*?) to capture the contents.


The parentheses are a capturing group, they capture their contents for later use. The question mark after .* makes the matching non-greedy. This means it will match the shortest match possible, rather than the longest one. The difference between greedy and non-greedy comes up when you have multiple matches in a line:

Hi [Stack], Here is my [Tag] which i need to [Find].

A greedy match will find the longest string possible between two sets of square brackets. That's not right. A non-greedy match will find the shortest:

Hi [Stack], Here is my [Tag] which i need to [Find].

Anyways, the code will end up looking like:

string regex = @"\[(.*?)\]";
string text  = "Hi [Stack], Here is my [Tag] which i need to [Find].";

foreach (Match match in Regex.Matches(text, regex))
    Console.WriteLine("Found {0}", match.Groups[1].Value);

Select all characters between, Regular expression tester with syntax highlighting, PHP / PCRE & JS Support, contextual help, cheat sheet, reference, and searchable community patterns. Anything between the tags is captured into the first backreference. The question mark in the regex makes the star lazy, to make sure it stops before the first closing tag rather than before the last, like a greedy star would do. This regex will not properly match tags nested inside themselves, like in <TAG>one<TAG>two</TAG>one</TAG>.


should work. You might have to change the matching group if you need to include special chars as well.

How to regex everything that is enclosed between two certain strings , Don't use ^ and $ . ^ is start of a line - which means that expression you're looking for needs to be at the very beginning of a line. The same  Regular Expression to Useful for find replace chords in some lyric/chord charts. Match anything enclosed by square brackets. character between a & g:

Depending on what environment you mean:


The basics of Regex explained / Webagility, How do I extract a string between two characters in R? The next column, "Legend", explains what the element means (or encodes) in the regex syntax. The next two columns work hand in hand: the "Example" column gives a valid regular expression that uses the element, and the "Sample Match" column presents a text string that could be matched by the regular expression.

.NET syntax, taking care of multiple embedded brackets:

\[ ( (?: \\. | (?<OPEN> \[) | (?<-OPEN> \]) | [^\]] )*? (?(OPEN)(?!)) ) \]

This counts the number of opened [ sections in OPEN and only succeeds if OPEN is 0 in the end.

Character Classes or Character Sets, the initial position and final position as found in Steps 1-2. In you're case there is something between ^ and string1/$ and string2, and regex expects that string1 will be first, and it finds some_string_and_ instead. string1.*string2 should be enough.

I encountered a similar issue and discovered that this also does the trick.


The \w means Metacharacter. This will match 1 or more word characters.

Using n{X,} quantifier matches any string where you can obtain different amounts. With the second number left out on purpose, the expression means 1 or more characters to match.

Regex Tutorial, Regular Expression to Useful for find replace chords in some lyric/chord charts. Match fixed set of characters using regex If we want to match a set of characters at any place, we need to use character classes. e.g. ‘[abc]’ will match a single character which can be either ‘a’, ‘b’ or ‘c’.

How to Extract a String Between 2 Characters in R and SAS, In this article, I will show you five easy-to-learn RegEx tricks which you Which means, “match all text starting with “loadScript” followed by anything up to the needs another argument inserted between its two arguments. How to match “anything up until this sequence of characters” in a regular expression? (6) As @Jared Ng and @Issun pointed out, the key to solve this kind of RegEx like "matching everything up to a certain word or substring" or "matching everything after a certain word or substring" is called "lookaround" zero-length assertions.

Match anything enclosed by square brackets., what they can't do. On an abstract level a regular expression, regex for short… matching anything between 1 and 2. Please note that the  Supports JavaScript & PHP/PCRE RegEx. Results update in real-time as you type. Roll over a match or expression for details. Validate patterns with suites of Tests. Save & share expressions with others. Use Tools to explore your results. Full RegEx Reference with help & examples. Undo & Redo with {{getCtrlKey()}}-Z / Y in editors.

Simple RegEx tricks for beginners, Anything between the tags is captured into the second backreference. This solution will also not match tags nested in themselves. Trimming Whitespace. You can  Regex to allow anything but whitespace? PHP. portem. August 30, 2014, 4:31am #1. looking to make a password regex that has a 6 min char limit, no max char limiit, and anything allowed but