黑马程序猿 ---------- Java网络技术之 ---正則表達式 (Day06)

----------------------
ASP.Net+Unity开发.Net培训、期待与您交流。
----------------------

正則表達式

正則表達式:基本知识

1  字符,   2 字符类 , 3 提前定义字符类 ,

4 边界匹配器 ,5 Greedy 数量词,6 Logical 运算符

具体解释:

1 字符

x   字符 x

\\ 反斜线字符

\0n 带有八进制值 0 的字符 n (0 <= n <= 7)

\0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)

\0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)

\xhh 带有十六进制值 0x 的字符 hh

\uhhhh 带有十六进制值 0x 的字符 hhhh

\t 制 表符 (‘\u0009‘)

\n 新行(换行)符 (‘\u000A‘)

\r 回车符 (‘\u000D‘)

\f 换页符 (‘\u000C‘)

\a 报警 (bell) 符 (‘\u0007‘)

\e 转义符 (‘\u001B‘)

\cx 相应于 x 的控制符

2 字符类

[abc]           a|b | c(简单类)

[^abc]         不论什么字符。除了 a、b 或 c(否定)

[a-zA-Z]       a 到 z 或 A 到 Z,两头的字母包含在内(范围)

[a-d[m-p]]     a 到 d 或 m 到 p:[a-dm-p](并集)

[a-z&&[def]]   d、e 或 f(交集)

[a-z&&[^bc]]   a 到 z,除了 b 和 c:[ad-z](减去)

[a-z&&[^m-p]] a 到 z。而非 m 到 p:[a-lq-z](减去)

3 提前定义字符类

. 不论什么字符(与行结束符可能匹配也可能不匹配)

\d 数字:[0-9]

\D 非数字: [^0-9]

\s 空白字符:[ \t\n\x0B\f\r]

\S 非空白字符:[^\s]

\w
单词字符:[a-zA-Z_0-9]

\W 非单词字符:[^\w]

4 边界匹配器

^ 行的开头

$ 行的结尾

\b 单词边界

\B 非单词边界

\A 输入的开头

\G 上一个匹配的结尾

\Z 输入的结尾,仅用于最后的结束符(假设有的话)

\z 输入的结尾

5 Greedy 数量词

X?

X, 一次或一次也没有

X*     X, 零次或多次

X+   X,一次或多次

X{n}   X, 恰好 n 次

X{n,}   X,至少 n 次

X{n,m}   X,至少 n 次。可是不超过 m 次

6 Logical 运算符

XY X 后跟 Y

X|Y X 或 Y

(X) X,作为捕获组

比如:

Email 地址的正則表達式:

//精确的 匹配

String reg = "[a-zA-Z0-9_]{6,12}@[a-zA-Z0-9]{3,6}(\\.[a-zA-Z]+){1,3}";

// 笼统的 匹配

String reg1 = "\\w+@\\w+(\\.\\w+)+";

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流。 ----------------------

具体请查看:www.itheima.com

时间: 2024-10-05 02:38:48

黑马程序猿 ---------- Java网络技术之 ---正則表達式 (Day06)的相关文章

HDU-1039-Easier Done Than Said?(Java &amp;amp;&amp;amp; 没用正則表達式是我的遗憾.....)

Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9845    Accepted Submission(s): 4784 Problem Description Password security is a tricky thing. Users prefer simple password

【技术】正則表達式—匹配电话号码,网址链接,Email地址

#pragma mark - 正则匹配电话号码.网址链接.Email地址 + (NSMutableArray *)addHttpArr:(NSString *)text { //匹配网址链接 NSString *regex_http = @"(https?|ftp|file)+://[^\\s]*"; NSArray *array_http = [text componentsMatchedByRegex:regex_http]; NSMutableArray *httpArr = [

黑马程序员 ---------- Java网络技术之 ---正则表达式 (Day06)

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 正则表达式 正则表达式:基本知识 1  字符,   2 字符类 , 3 预定义字符类 , 4 边界匹配器 ,5 Greedy 数量词,6 Logical 运算符 详解: 1 字符 x   字符 x \\ 反斜线字符 \0n 带有八进制值 0 的字符 n (0 <= n <= 7) \0nn 带有八进制值 0 的字符 nn (0 <= n

Java正則表達式入门

众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一矛盾的主要手段. 大 家都知道,正則表達式是一种能够用于模式匹配和替换的规范,一个正則表達式就是由普通的字符(比如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描写叙述在查找文字主体时待匹配的一个或多个字符串.正則表達式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.  自从jdk1

JAVA学习第六十五课 — 正則表達式

正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正則表達式. regex,就是给定的正則表達式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

java正則表達式 match、find匹配位置

如题.对于java正則表達式这几个方法匹配一次后的,匹配位置搞不太清楚,就写了几个样例.例如以下: String ss="ooaaoo"; Pattern pt=Pattern.compile("(o+)"); Matcher mt=pt.matcher(ss); // mt.lookingAt(); // mt.matches(); while(mt.find()){ System.out.println(mt.group(1)+"|||"+m

正則表達式基础及java使用

正則表達式基础 正則表達式语法(1) 普通字符:字母,数字.汉子,下划线以及没有特殊定义的标点符号都是"普通字符".表达式中的普通字符.在匹配一个字符串的时候,匹配与之同样的一个字符 简单的转义字符: \n :代表换行符 \t :代表制表符 \\ :代表\本身 \^ ......  :代表匹配这字符本身 正則表達式语法(2) 标准字符集合: 可以与多种字符匹配的表达式 注意区分大写和小写,大写是相反的意思 \d :随意一个数字,0-9中的随意一个 \w:随意一个字母或者下划线或者汉字.

Java正則表達式演示样例

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexMatches { public static void main( String args[] ){ // 按指定模式在字符串查找 String line = "This order was placed for QT3000! OK? "; String pattern = "(.*)(\\d+)(.*)&qu

java正則表達式总结

近期用到的正則表達式 因为近期在做一个android的新闻client.多次用到了正則表達式.因此总结下. 1.使用正則表達式获取Rss资源内的文章内容的图片url 由于在每条新闻浏览的listView里须要新闻内容里的图片.因此你须要抓取文章第一张照片url地址.豆瓣的照片格式是: <img src="http://theimg.aliapp.com/img.php? url=http://img6.douban.com/view/presto/large/public/218991.j