正则表达式匹配麻烦

时间:2015-04-04 14:49:50

标签: java regex

我有这个输入:

;Client = tefexx;Test = tgrfdrff;Piemel = thgfress

这个正则表达式:

(;Client = )

正则表达式中的单词会根据需要而改变。但在这种情况下,我想只返回tefexx。我不明白如何匹配这个词。

3 个答案:

答案 0 :(得分:2)

你可以试试这个:

(;Client = (.*?);)

在你的例子中,这个正则表达式的第二个捕获组将只保留'tefexx'。

答案 1 :(得分:0)

这应该有效/Client = ([a-zA-z]+);/

答案 2 :(得分:0)

以下是使用PatternMatcher的示例:

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

public class Re {
    static String s = ";Client = tefexx;Test = tgrfdrff;Piemel = thgfress";
    static String re = ";Client = ([^;]*);";

    static public void main(String[] args) {
        Pattern pattern = Pattern.compile(re);
        Matcher matcher = pattern.matcher(s);
        if (matcher.find()) {
            System.out.println(matcher.group(1));
        }
    }
}


$ java Re
tefexx