在字符串

时间:2017-05-19 16:18:05

标签: java regex

我有一组代码,它接受用户输入并尝试将其与一组String匹配。我想知道是否可以在特定变量上使用模式。我将把值放在我想要使用的变量上。

if (twojunglers[0].equals("hecarim")){
    if (twojunglers[1].equals("leesin")) {
        String regexe = "(?>=Champion Red).{43}";
        Pattern p = Pattern.compile(regexe);
        String abc* = br.readLine();

        //I'd like to do something like this but for obvious reasons it wont work String str = p.abc;
        int cutstring = abc.lastIndexOf("%");
        String stuffs_ = abc;

        if (cutstring >= 0) stuffs_ = abc.substring(0, cutstring);
        System.out.println(stuffs_ + "%");
     }
 }

2 个答案:

答案 0 :(得分:0)

这是一个简单的示例,说明如何从给定的字母数字String中找到数字String

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatches {

   public static void main( String args[] ) {
      // String to be scanned to find the pattern.
      String line = "This order was placed for QT3000! OK?";
      String pattern = "(.*)(\\d+)(.*)";

      // Create a Pattern object
      Pattern r = Pattern.compile(pattern);

      // Now create matcher object.
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
         System.out.println("Found value: " + m.group(1) );
         System.out.println("Found value: " + m.group(2) );
      }else {
         System.out.println("NO MATCH");
      }
   }
}

答案 1 :(得分:0)

试试这个:

Pattern pattern = Pattern.compile("(\\bpow\\w+)(.*?)(\\bener\\w+)");
Matcher matcher = pattern.matcher("Test powers test energies test.");

if(matcher.find()) {
    System.out.println(matcher.group());
}