"digit ~ digit ~ string ~ sentence"와 일치하는 정규식 패턴을 작성하려고합니다. 예 : 14~742091~065M998~P E ROUX 214
. 나는 지금까지 다음과 같이 왔어요 :정규식을 사용하여 일부 패턴 추출
String regex= "\\d+~?\\d+~?\\w+~?"
어떻게 마지막 ~
후 문장을 추출 할 수 있습니까?
"digit ~ digit ~ string ~ sentence"와 일치하는 정규식 패턴을 작성하려고합니다. 예 : 14~742091~065M998~P E ROUX 214
. 나는 지금까지 다음과 같이 왔어요 :정규식을 사용하여 일부 패턴 추출
String regex= "\\d+~?\\d+~?\\w+~?"
어떻게 마지막 ~
후 문장을 추출 할 수 있습니까?
사용 Capturing Groups :
\d+~?\d+~?\w+~(.*)
group(1)
원하는 부분이 포함되어 있습니다.
String#split
다른 솔루션을 사용하고이 패턴 있듯이
String[] splitted = myString.split("~");
String res = splitted[splitted.length() - 1];
사용 포착 기 ()
: "\\d+~\\d+~\\w+~(.*)"
. greedy 한정 기호 ?
이 필요하지 않습니다.
String input = "14~742091~065M998~P E ROUX 214";
Pattern pattern = Pattern.compile("\\d+~\\d+~\\w+~(.*)");
//Pattern pattern = Pattern.compile("(?:\\d+~){2}\\w+~(.*)"); (would also work)
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println(matcher.group(1));
}
인쇄 :
P E ROUX 214
더 자세한 내용은 원하는 출력, 를 추출 ()
를 사용해야합니다 당신을 위해 작동해야 here
정규 표현식 아래 시도 문장 영숫자 포함 공백
^\ D + ~ \ D + ~ \ w + ~ [\ w \ S] +
이유 's.split ("~")'뿐만 아니라? –
또는. 이 정규식'(? <= ~) [^ ~] * $' –