public class ScannerDemo {
public static void main(String[] args) {
String s = "Hello World! 3 + 3.0 = 6 ";
// create a new scanner with the specified String Object
Scanner scanner = new Scanner(s);
// check if next token is "Hello"
System.out.println("" + scanner.hasNext("Hello"));
// find the last match and print it
System.out.println("" + scanner.match());
// print the line
System.out.println("" + scanner.nextLine());
// close the scanner
scanner.close();
}
}
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "GFG Geeks!";
// create a new scanner
// with the specified String Object
Scanner scanner = new Scanner(s);
// check if next token is "GFG"
System.out.println("" + scanner.hasNext("GFG"));
// find the last match and print it
System.out.println("" + scanner.match());
// print the line
System.out.println("" + scanner.nextLine());
// close the scanner
scanner.close();
}
}
public class ScannerMatchDemo {
public static void main(String[] args) {
// Initialize Scanner object
Scanner scan = new Scanner("A E 4 1 3");
// Printing the delimiter used
System.out.println("Delimiter:"+scan.delimiter());
scan.useRadix(16);
// Print the radix the Scanner object is using
System.out.println("Radix:"+scan.radix());
// Printing the tokenized Strings
while(scan.hasNextInt()){
scan.nextInt();
// printing the index where the delimiter has been found
System.out.println("Pattern match at index:"+scan.match().start());
}
// closing the scanner stream
scan.close();
}
}
public class Main {
public static void main(String[] args) {
String s = "java2s.com 1 + 1 = 2.0 ";
Scanner scanner = new Scanner(s);
// check if next token is "java"
System.out.println(scanner.hasNext("java"));
// find the last match and print it
System.out.println(scanner.match());
System.out.println(scanner.nextLine());
scanner.close();
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(threatData);
String pattern = "(\\d+[.]\\d+[.]\\d+[.]\\d+)@" +
"(\\d{2}/\\d{2}/\\d{4})";
while(scanner.hasNext(pattern)) {
scanner.next(pattern);
MatchResult match = scanner.match();
String ip = match.group(1);
String date = match.group(2);
System.out.format("Threat on %s from %s\n", date,ip);
}
private int parseYear(Scanner s, int defaultYear) {
if (s.hasNext(YEAR)) {
s.next(YEAR);
MatchResult mr = s.match();
if (mr.group(1) != null) {
return 1900; // systemv has min
} else if (mr.group(2) != null) {
return YEAR_MAX_VALUE;
} else if (mr.group(3) != null) {
return defaultYear;
}
return Integer.parseInt(mr.group(4));
/*
if (mr.group("min") != null) {
//return YEAR_MIN_VALUE;
return 1900; // systemv has min
} else if (mr.group("max") != null) {
return YEAR_MAX_VALUE;
} else if (mr.group("only") != null) {
return defaultYear;
}
return Integer.parseInt(mr.group("year"));
*/
}
throw new IllegalArgumentException("Unknown year: " + s.next());
}
protected ThreadStack parseThreadInfo(String threadInfo) {
Scanner s = new Scanner(threadInfo);
ThreadStack result = new ThreadStack();
// parsing thread info
s.findInLine(threadInfoPattern());
MatchResult res = s.match();
result.setThreadName(res.group(1));
result.setType(res.group(3));
result.setPriority(res.group(4));
result.setTid(res.group(7));
result.setNid(res.group(8));
result.setStatus(res.group(9));
s.close();
return result;
}
protected MethodInfo parseMethodInfo(String line) {
MethodInfo result = new MethodInfo();
Scanner s = new Scanner(line);
s.findInLine(methodInfoPattern());
MatchResult rexp = s.match();
if (rexp.group(4) != null && rexp.group(4).length() > 0) {
// line " at tmtools.jstack.share.utils.Utils.sleep(Utils.java:29)"
result.setName(rexp.group(1));
result.setCompilationUnit(rexp.group(2));
result.setLine(rexp.group(4));
} else {
// line " at java.lang.Thread.sleep(Native Method)"
result.setName(rexp.group(1));
}
s.close();
return result;
}
private void setWinCeVersion(OperatingSystem model) {
//TODO: to be refined
String osV = model.getVersion();
if (osV == null) {
return;
} else if (!model.getMajorRevision().equals("1")) {
return;
}
if (osV.matches(".*(\\d+).(\\d+).(\\d+).(\\d+).*")) {
Scanner s = new Scanner(osV);
s.findInLine(".*(\\d+).(\\d+).(\\d+).(\\d+).*");
MatchResult result = s.match();
if (result.group(1).equals("4")) {
model.setMajorRevision("5");
} else if (result.group(1).equals("6")) {
model.setMajorRevision("6");
if (result.group(3).equals("7")) {
model.setMinorRevision("1");
}
}
}
}
public static void setProxy(String proxyAddr)
{
if(proxyAddr != null)
{
Scanner s = new Scanner(proxyAddr);
// Split into "proxyAddr:proxyPort".
proxyAddr = null;
int proxyPort = 8080;
try
{
s.findInLine("(http://|)([^:/]+)(:|)([0-9]*)(/|)");
MatchResult m = s.match();
if(m.groupCount() >= 2)
proxyAddr = m.group(2);
if(m.groupCount() >= 4 && !(m.group(4).length() == 0))
proxyPort = Integer.parseInt(m.group(4));
}finally
{
s.close();
}
if(proxyAddr != null)
{
SocketAddress sa = new InetSocketAddress(proxyAddr, proxyPort);
setProxy(new Proxy(Type.HTTP, sa));
}
}
}