Нужна помощь в регулярных выражениях - Как извлечь строку с помощью регулярного выражения? - PullRequest
0 голосов
/ 06 сентября 2018

Я ищу регулярное выражение для извлечения строки из другой строки.

"sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule REQUIRED 
storeKey=true principal='test@test.net' validate=true serviceName=esaas 
keyTab='<some value>' useKeyTab=true;"

Как извлечь строку после keyTab = Я хочу получить значение внутри одинарных кавычек -

Ответы [ 4 ]

0 голосов
/ 06 сентября 2018

Используйте регулярное выражение keyTab = '(. *?)' и сопоставьте группу 1. В Java ваш код должен выглядеть следующим образом:

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

public class Regex {
    public static void main(String[] args) {
        String content = "\"sasl.jaas.config=com.sun.security.auth.module.Krb5LoginModule REQUIRED \r\n" + 
            "storeKey=true principal='test@test.net' validate=true serviceName=esaas \r\n" + 
            "keyTab='<some value>' useKeyTab=true;\"";
        Pattern pattern = Pattern.compile("keyTab='(.*?)'");
        Matcher matcher = pattern.matcher(content);
        matcher.find();
        System.out.println(matcher.group(1)); //<some value>
    }
}
0 голосов
/ 06 сентября 2018
[\n\r].*keyTab='\s*([^\n\r]*)'

Ваш желаемый матч будет в группе захвата 1.

0 голосов
/ 06 сентября 2018

То, что будет работать в большинстве движков регулярных выражений, - это искать то, что вы хотите, и то, что вам нужно, до этого.
И поместите нужную вещь в группу захвата

Это регулярное выражение поместит то, что находится между кавычками в группе захвата \1

\bkeyTab=\'([^\']*)\'

\b - это граница слова, чтобы удостовериться, что keyTab не является частью большого слова.

0 голосов
/ 06 сентября 2018

Вы можете использовать это выражение, чтобы найти его:

keyTab='(.*?)'

Он найдет все значения около keyTab='...', но захватит только то, что находится в кавычках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...