Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8673233
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T19:24:22+00:00 2026-06-12T19:24:22+00:00

I have two regular expressions, one pulling out usernames from a csv string, and

  • 0

I have two regular expressions, one pulling out usernames from a csv string, and the other pulling out emails.

the string format is like this:

String s = "name lastname (username) <mail@mail.something.dk>; name lastname (username) <mail@mail.something.dk>; name lastname (username) <mail@mail.something.dk>";

the code for my regular expressions are like this.

Pattern pattern = Pattern.compile("(?<=\\()[^\\)]+");
Matcher matcher = pattern.matcher(s);
Pattern pattern2 = Pattern.compile("((?<=<)[^>]+)");
Matcher matcher2 = pattern2.matcher(s);

while (matcher.find() && matcher2.find()) {
    System.out.println(matcher.group() + " " + matcher2.group());
}

I’ve found several qeustions about merging regexes, but from the answers i haven’t been able to figure out how to merge mine.

my printouts show:

"username mail@mail.com"

would I be able to print out the same from a single matcher, using one regex?

obs: this is a school assignment, which means i do not “need” to merge them or do any more, but i’d like to know if it is possible, and how difficult it would be.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T19:24:23+00:00Added an answer on June 12, 2026 at 7:24 pm

    You can just use an Pipe (|) in between your multiple Regex, to match all of them : –

        String s = "name lastname (username) <mail@mail.something.dk>; name lastname
                (username) <mail@mail.something.dk>; name lastname 
                (username) <mail@mail.something.dk>;";
    
        // Matches (?<=\\()[^\\)]+  or  ((?<=<)[^>]+)
        Pattern pattern = Pattern.compile("(?<=\\()[^\\)]+|((?<=<)[^>]+)");
        Matcher matcher = pattern.matcher(s);
    
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    

    OUTPUT: –

    username
    mail@mail.something.dk
    username
    mail@mail.something.dk
    username
    mail@mail.something.dk
    

    UPDATE: –

    If you want to print username and email only when they both exists, then you need to split your string on ; and then apply the below Regex on each of them.

    Here’s the code: –

        String s = "name lastname (username) ; 
                    name lastname (username) <mail@mail.something.dk>; 
                    name lastname (username) <mail@mail.something.dk>;";
    
        String [] strArr = s.split(";");
    
        for (String str: strArr) {
    
            Pattern pattern = Pattern.compile("\\(([^\\)]+)(?:\\))\\s(?:\\<)((?<=<)[^>]+)");
            Matcher matcher = pattern.matcher(str);
    
            while (matcher.find()) {
                System.out.print(matcher.group(1) + " " + matcher.group(2));
            }
            System.out.println();
        }
    

    OUTPUT: –

    username mail@mail.something.dk
    username mail@mail.something.dk // Only the last two have both username and email
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two regular expressions for one user input field that should accept a
I have two regular expressions that validate the values entered. One that allows any
I have two regular expressions: /\/(\w\w+)/g /(^\w\w+)/g and am wondering if there's any way
I have an MVC application which is my marketing website, and two other regular
I have two classes (MVC view model) which inherits from one abstract base class.
I have two regular expressions that I use to validate Colorado driver's license formats.
Simple question, say I have two regular expressions rtmp.*?\b/ rtmp.+?\b/ It seems to be
I have a string which can include none, one or two values. In case
Suppose I have the following two strings containing regular expressions. How do I coalesce
Right now I have two regular expressions that does this: Regex-1 = (\\{(\\w+)\\}); Regex-2

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.