Java总结-正则表达式_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java总结-正则表达式

Java总结-正则表达式

 2012/2/15 9:08:43  caiwb1990  程序员俱乐部  我要评论(0)
  • 摘要:正则表达式:专门用于操作字符串的规则。将一些操作代码通过一些符号体现。好处:1,方便了程序的编写。2,可以用于对字符串的复杂操作。弊端:阅读性较差。常用规则:[]:限定某一位字符内容范围。比如:[abc]:该位字符只能出现a或者b或者c。[a-z]:改为字符只要是小写字母中的一个即可。{}:限定前一个字符或者正则规则内容出现的次数。比如:{3}:出现3次。{3,}:至少出现3次。{3,7}:出现3到7次。数量规则:?:出现一次或者0次。*:出现了0次或者多次。+:出现1次或者多次。字符规则
  • 标签:总结 Java 正则表达式 表达式 正则

正则表达式:
	专门用于操作字符串的规则。
	将一些操作代码通过一些符号体现。
	好处:
		1,方便了程序的编写。
		2,可以用于对字符串的复杂操作。
	弊端:
		阅读性较差。


常用规则:
[]:限定某一位字符内容范围。
比如:	[abc]:该位字符只能出现a或者b或者c。
	[a-z]:改为字符只要是小写字母中的一个即可。
{}:限定前一个字符或者正则规则内容出现的次数。
比如:	{3}:出现3次。
	{3,}:至少出现3次。
	{3,7}:出现3到7次。

数量规则:
	?:出现一次或者0次。
	* :出现了0次或者多次。
	+ :出现1次或者多次。

字符规则:
	\d: [0-9],数字。
	\D: [^0-9],非数字。
	\w: [a-zA-Z0-9_]
	\b: 单词边界。
	\s: 空格,tab,\r  \n.

组规则:
	可以将正则表达式的结果通过()进行封装,以便于该规则内容被重用
	技巧:当出现了嵌套组的时候,通过左括号来进行编号的判断。该编号从1开始。

	如果使用已定好的组呢?
	通过\n形式,反向引用组。()\\1+。

特殊:
	$ : 代表是行结束。
	^ : 行开始。
	. : 代表任意字符。


--------
对字符串操作的常见功能。
1,匹配。String matches(regex);其实最终使用的是Matcher匹配器对象。
	需求:判断QQ号码。5~15 0不可以开头。
	qq.matches("[1-9]\\d{4,14}");

2,切割:String split(regex);
	需求:如果想通过  .  的形式起个字符串。
	split("\\.");

3,替换:String replaceAll(regex,str);
	在regex表达式中使用了组。那么可以在str中的通过  $编号 的形式获取regex中的组。
	需求:如果想将符合规则的内容替换成一个$符号。
	replaceAll(regex,"\\$");
	需求:替换叠词,用叠词中的一个替换全部。
	s.replaceAll("(.)\\1+","$1");

4,查找:涉及到java.util.regex包中两个对象。Pattern ,Matcher。
	1,将正则规则封装成Pattern对象。Pattern p = Pattern.compile(regex);
	2,将规则对象和要作用的字符串相关联,获取匹配器对象。Matcher m  = p.matcher(str);
	3,通过匹配器对象find()将规则去操作字符串,如果找到返回true。
	   在通过group()方法获取找到符合规则的内容。


练习:
	1,获取一段英文有三个字母组成的单词。
	2,操作一组ip地址,按ip地址顺序排序。
	3,Email规则。/*[a-zA-Z0-9_]*/  "\\w{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+"
	4,网页爬虫。			
		遍历网页中的文本,将符合规则的信息获取。

应用场景:
注册表单的校验。







发表评论
用户名: 匿名