标签:pil 号码 基础 alt http 字符 分享 描述 ever
. 任意一个字符串
\ "\\\\"匹配"\","\\("匹配"("。
^ 匹配输入字符串开始的位置
$ 匹配输入字符串结尾的位置
* 零次或多次匹配前面的字符或子表达式
+ 一次或多次匹配前面的字符或子表达式
? 零次或一次匹配前面的字符或子表达式
{n} n 是非负整数。正好匹配 n 次
{n,m} 匹配至少 n 次,至多 m 次。
{n,} 至少匹配 n 次
? 非贪心的"模式匹配搜索到的、尽可能短的字符串,
而默认的"贪心的"模式匹配搜索到的、尽可能长的字符串
在字符串"oooo"中,"o+?"只匹配单个"o",而"o+"匹配所有"o"。
x|y 匹配 x 或 y。例如,‘z|food‘ 匹配"z"或"food"。‘(z|f)ood‘ 匹配"zood"或"food"。
[xyz] 匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。
[^xyz] 反向字符集。匹配未包含的任何字符。例如,"[^abc]"匹配"plain"中"p","l","i","n"。
[a-z] 字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母。
[^a-z] 反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符。
\b 匹配一个字边界,即字与空格间的位置。例如,"er\b"匹配"never"中的"er",但不匹配"verb"中的"er"。
\B 非字边界匹配。"er\B"匹配"verb"中的"er",但不匹配"never"中的"er"。
\d 数字字符匹配。等效于 [0-9]。
\D 非数字字符匹配。等效于 [^0-9]。
1 /** 2 * 正则表达式测试 3 * @author wangchong 4 * @date 2017年9月29日 上午11:25:27 5 */ 6 public class RegexMatches { 7 8 public static void main( String args[] ){ 9 10 System.out.println("测试 边界匹配器 $ and ^"); 11 12 System.out.println("测试 \\"); 13 System.out.println("abc\\".matches(".*\\\\$")); 14 System.out.println("测试 ^ "); 15 System.out.println("abc\\".matches("^a.*")); 16 17 System.out.println("实例一: 正则表达式筛选一段文字中的正确的手机号码"); 18 System.out.println(); 19 20 String messge = "尊敬的移动用户18352537674您好,您的账号132419255还剩余额111111"; 21 System.out.println("信息内容:" + messge); 22 Pattern regex1 = Pattern.compile("\\D+(1\\d{10})\\D+"); 23 Matcher matcher = regex1.matcher(messge); 24 25 while (matcher.find()) { 26 System.out.print("提取的手机号为:" + matcher.group(1)); 27 } 28 29 } 30 31 }
运行结果
标签:pil 号码 基础 alt http 字符 分享 描述 ever
原文地址:http://www.cnblogs.com/kuangbendecaichong/p/7610923.html