简体   繁体   中英

Java equivalent of JavaScript's String.match()

What is the Java equivalent of JavaScript's String.match()

I need to get an array or a list of all matches

Example:

var str = 'The quick brown fox jumps over the lazy dog';
console.log(str.match(/e/gim));

gives

["e", "e", "e"]

http://www.w3schools.com/jsref/jsref_match.asp

Check Regex tutorial

Your code should look something similar to this:

String input = "The quick brown fox jumps over the lazy dog";
Matcher matcher = Pattern.compile("e").matcher(input);

while ( matcher.find() ) {
    // Do something with the matched text
    System.out.println(matcher.group(0));
}

Take a look at the Pattern and Matcher classes in the regex package. Specifically the Matcher.find method. That does not return an array, but you can use it in a loop to iterate through all matches.

String.matches(String regex) is a more direct equivalent, but only use it for one-off regexes. If you'll be using it multiple times, stick with Pattern.compile as suggested.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM