Last login: Sun Oct 11 19:55:07 on ttys005 The default interactive shell is now zsh. To update your account to use zsh, please run `chsh -s /bin/zsh`. For more details, please visit https://support.apple.com/kb/HT208050. (base) MAC:Mon Oct 12:08:43:~> jshell | Welcome to JShell -- Version 14.0.1 | For an introduction type: /help intro jshell> /imports | import java.io.* | import java.math.* | import java.net.* | import java.nio.file.* | import java.util.* | import java.util.concurrent.* | import java.util.function.* | import java.util.prefs.* | import java.util.regex.* | import java.util.stream.* jshell> Pattern p = Pattern.compile([a-z]); | Error: | illegal start of expression | Pattern p = Pattern.compile([a-z]); | ^ | Error: | ';' expected | Pattern p = Pattern.compile([a-z]); | ^ jshell> Pattern p = Pattern.compile("[a-z]"); p ==> [a-z] jshell> Matcher m = p.match("4a3e5DX"); | Error: | cannot find symbol | symbol: method match(java.lang.String) | Matcher m = p.match("4a3e5DX"); | ^-----^ jshell> Matcher m = p.matcher("4a3e5DX"); m ==> java.util.regex.Matcher[pattern=[a-z] region=0,7 lastmatch=] jshell> p.group() | Error: | cannot find symbol | symbol: method group() | p.group() | ^-----^ jshell> m.group() | Exception java.lang.IllegalStateException: No match found | at Matcher.group (Matcher.java:645) | at Matcher.group (Matcher.java:604) | at (#3:1) jshell> p p ==> [a-z] jshell> m m ==> java.util.regex.Matcher[pattern=[a-z] region=0,7 lastmatch=] jshell> m.find() $6 ==> true jshell> m.groupCount() $7 ==> 0 jshell> m.results().forEach(System.out::println) java.util.regex.Matcher$ImmutableMatchResult@66cd51c3 jshell> m.reset() $9 ==> java.util.regex.Matcher[pattern=[a-z] region=0,7 lastmatch=] jshell> m.results().forEach(e -> System.out.printl(e.group() ...> )) | Error: | cannot find symbol | symbol: method printl(java.lang.String) | m.results().forEach(e -> System.out.printl(e.group() | ^---------------^ jshell> m.results().forEach(e -> System.out.println(e.group() ...> )) a e jshell> p = Pattern.compile("[^a-z]"); p ==> [^a-z] jshell> Matcher m = p.matches("ab&7234ABC"); | Error: | method matches in class java.util.regex.Pattern cannot be applied to given types; | required: java.lang.String,java.lang.CharSequence | found: java.lang.String | reason: actual and formal argument lists differ in length | Matcher m = p.matches("ab&7234ABC"); | ^-------^ jshell> Matcher m = p.matcher("ab&7234ABC"); m ==> java.util.regex.Matcher[pattern=[^a-z] region=0,10 lastmatch=] jshell> m.results().forEach(e -> System.out.println(e.group())); & 7 2 3 4 A B C jshell> p = Pattern.compile("[a-z][0-9]"); p ==> [a-z][0-9] jshell> m = p.matcher("qui4nine8"); m ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,9 lastmatch=] jshell> m.results.forEach(e -> System.out.println(e.group())); | Error: | cannot find symbol | symbol: variable results | m.results.forEach(e -> System.out.println(e.group())); | ^-------^ jshell> m.results().forEach(e -> System.out.println(e.group())); i4 e8 jshell> m.results().reset() | Error: | cannot find symbol | symbol: method reset() | m.results().reset() | ^---------------^ jshell> m.reset() $17 ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,9 lastmatch=] jshell> m.results().map(e -> e.group()).forEach(System.out::println); i4 e8 jshell> Pattern phone = Pattern.compile("[2-9]\\d\\d-[2-9]\\d\\d-\\d\\d\\d\\d"); phone ==> [2-9]\d\d-[2-9]\d\d-\d\d\d\d jshell> s = "123-45-6789 201-666-5456 512-477-7899 foo bar baz" | Error: | cannot find symbol | symbol: variable s | s = "123-45-6789 201-666-5456 512-477-7899 foo bar baz" | ^ jshell> String s = "123-45-6789 201-666-5456 512-477-7899 foo bar baz" s ==> "123-45-6789 201-666-5456 512-477-7899 foo bar baz" jshell> m = p.matcher(s); m ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,49 lastmatch=] jshell> m.results().map(e -> e.group()).forEach(System.out::println); jshell> m.reset() $23 ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,49 lastmatch=] jshell> m.results().map(e -> e.group()).forEach(System.out::println); jshell> m.reset() $25 ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,49 lastmatch=] jshell> m m ==> java.util.regex.Matcher[pattern=[a-z][0-9] region=0,49 lastmatch=] jshell> m.results() $27 ==> java.util.stream.ReferencePipeline$Head@626b2d4a jshell> p p ==> [a-z][0-9] jshell> m = p.matcher(phone); | Error: | incompatible types: java.util.regex.Pattern cannot be converted to java.lang.CharSequence | m = p.matcher(phone); | ^---^ jshell> phone phone ==> [2-9]\d\d-[2-9]\d\d-\d\d\d\d jshell> phone.matcher(s); $30 ==> java.util.regex.Matcher[pattern=[2-9]\d\d-[2-9]\d\d-\d\d\d\d region=0,49 lastmatch=] jshell> m = phone.matcher(s); m ==> java.util.regex.Matcher[pattern=[2-9]\d\d-[2-9]\d ... \d region=0,49 lastmatch=] jshell> m.results().map(e -> e.group()).forEach(System.out::println); 201-666-5456 512-477-7899 jshell> phone = Pattern.compile("[2-9]\\d{2}-[2-9]\\d{2}-\\d{4}") phone ==> [2-9]\d{2}-[2-9]\d{2}-\d{4} jshell> m = phone.matcher(s) m ==> java.util.regex.Matcher[pattern=[2-9]\d{2}-[2-9]\ ... 4} region=0,49 lastmatch=] jshell> m.results().map(e -> e.group()).forEach(System.out::println); 201-666-5456 512-477-7899 jshell> /exit | Goodbye (base) MAC:Mon Oct 12:09:25:~>