1.常见正则表达式支持的字符
字符 | 解释 |
---|---|
\t | 制表符 |
\n | 换行 |
\r | 回车符 |
\f | 换页符 |
\a | 报警符 |
\e | Escape符 |
\cx | x对应的控制符。例如\cM匹配Ctrl-M。x的值必须为A-Z或a-z之一 |
$ | 匹配一行的结尾,本身用$ |
^ | 匹配一行的开头,本身用^ |
( ) | 标记子表达式开始和结束的位置,本身要用和 |
[ ] | 标记中括号开始和结束的位置,本身要用和 |
{ } | 标记前面子表达式的频度,本身要用 { 和 } |
* | 指定前面的子表达式可以出现零次或多次,本身要用 * |
+ | 指定前面的子表达式可以出现零次或多次,本身要用 * |
. | 匹配除换行符\n之外的任何单字符,本身用. |
\ | 用于转义下一个字符,或指定八进制、十六进制字符,本身用\ |
? | 指定前面子表达式可以出现零次或一次。本身用? |
| | 指定两项之间任意选一项,本身用| |
. | 可以匹配任何字符 |
\d | 匹配0~9的所有数字 |
\D | 匹配非数字 |
\s | 匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等 |
\S | 匹配所有的非空字符 |
\w | 匹配所有的单词字符,包括0~9所有数字、26个字母和下画线(_) |
\W | 匹配非单词字符 |
^ | 行的开头 |
$ | 行的结尾 |
\b | 单词的边界 |
\B | 非单词的边界 |
\A | 输入的开头 |
\G | 前一个匹配的结尾 |
\Z | 输入的结尾,仅用于最后的结束符 |
\z | 输入的结尾 |
2.使用正则表达式
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Scanner;
public class test {
public static void main(String args[]) {
Pattern pattern = Pattern.compile(
“^(https?|ftp|file)😕/[-a-zA-Z0-9+&@#/%?=_|!:,.;]*[-a-zA-Z0-9+&@#/%=_|]”);
Scanner in = new Scanner(System.in);
String url = in.next();
Matcher matcher=pattern.matcher(url);
boolean re=matcher.matches();
System.out.println(re);
}