を満たす単語を示すない正規表現Matcher.findはここ所定の正規表現コード基準
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String longString = " Derek Banas CA 12345 PA (412)555-1212 [email protected] 412-555-1234 412 555-1234 ";
regexChecker("\\s[A-Za-z]{2,20}\\s", longString);
}
public static void regexChecker(String theRegex, String str2Check){
Pattern checkRegex = Pattern.compile(theRegex);
Matcher regexMatcher = checkRegex.matcher(str2Check);
while (regexMatcher.find()){
if (regexMatcher.group().length() != 0){
System.out.println(regexMatcher.group().trim());
System.out.println("Start Index: " + regexMatcher.start());
System.out.println("Start Index: " + regexMatcher.end());
}
}
}
}
出力
Derek
Start Index: 0
Start Index: 7
CA
Start Index: 12
Start Index: 16
PA
Start Index: 21
Start Index: 25
1である理由>なぜデレクの出力が「末端でありますインデックス7 'ではなく6?
2>なぜ 'Banas'が出力に含まれないのですか?
ご協力いただければ幸いです。
具体的なヘルプが必要な場合は、具体的な質問をしてください。また、私は2番目の正規表現がスペースなしでマッチを返すので、私の解決策はちょうど必要なものだと思うし、空白の境界をチェックしています(したがって、2文字から20文字の単語しか返しません)。 –