android 正则表达式基础学习



  1. Pattern p = Pattern.compile("title=\"(.*?)\" href=\"(.*?)\".*?363");  
  2. Matcher m = p.matcher(csdnString); //csdn首页的源代码字符串  
  3. while (m.find()) { //循环查找匹配字串  
  4.     MatchResult mr=m.toMatchResult();  
  5.     Map<String, Object> map = new HashMap<String, Object>();  
  6.     map.put("title", mr.group(1));//找到后group(1)是表达式第一个括号的内容  
  7.     map.put("url", mr.group(2));//group(2)是表达式第二个括号的内容  
  8.     result.add(map);  

Pattern

编译正则表达式模式
flags 总结
Constants
int CANON_EQ 这个常数中指定一个字符 模式 和一个 字符只在输入字符串中匹配是否正规 等价的。
int CASE_INSENSITIVE 这个常数指定 模式 是匹配的 不区分大小写。
int COMMENTS 这个常数指定 模式 可能包含空格或 评论。
int DOTALL 这个常数指定”。 ”元字符匹配任意的 字符,包括线的结局,这通常不是这样的。
int LITERAL 这个常数指定整个 模式 是被 实际上,所有元字符失去意义。
int MULTILINE 这个常数指定元字符“^”和“$”匹配 的开始和结束一个输入行,分别。
int UNICODE_CASE 这个常数指定 模式 使用不区分大小写的匹配 将使用Unicode折叠。
int UNIX_LINES 这个常数指定一个模式匹配Unix行结尾(“\ n”) 只有反对的。 ”、“^”,和“美元”元字符。

公共方法
static  Pattern
compile( String regularExpression, int flags)
返回一个给定的编译形式  regularExpression  修改的 鉴于  旗帜  .
static  Pattern
compile( String pattern)
相当于  Pattern.compile(模式,0) 
int
flags()
返回旗帜供应  编译 
返回一个  匹配器  该模式的应用于给定的  输入 
static boolean
matches( String regularExpression,  CharSequence input)
测试是否给定的  regularExpression  匹配给定的  输入 
返回正则表达式提供  编译 
static  String
quote( String string)
引用给定的  字符串  使用“\问”和“\ E”,所以所有 元字符失去他们的特殊意义。
split( CharSequence input)
相当于  split(input, 0).
split( CharSequence input, int limit)
将给定的  输入  这种模式的出现。
返回一个字符串,其中包含一个简洁的、人类可读的描述 对象。


受保护的方法
void(空虚)
时调用垃圾收集器已经探测到这个实例不再是可获得的。


Matcher

类概述

应用的结果 Patter 对于一个给定的输入。 看到 patter 为 示例使用。

公共方法
appendReplacement( StringBuffer buffer,  String replacement)
附加的文字部分加上一个替代当前的输入 匹配一个给定的  StringBuffer 
附加(无与伦比的)的剩余部分的输入  StringBuffer 
int
end()
返回后的第一个字符的索引匹配的文本 整个正则表达式。
int
end(int group)
返回后的第一个字符的索引匹配的文本 给定组。
boolean
find()
移动到下一个输入模式的出现。
boolean
find(int start)
返回true,如果有另一个匹配输入,开始 从给定的位置。
group()
返回整个正则表达式的文本匹配
group(int group)
返回文本匹配给定的正则表达式。
int
返回结果的组织,它总是等于 组的数量在最初的正则表达式。
boolean
返回true,如果这匹配器锚固范围内启用。
boolean
如果启用此匹配器透明边界返回true。
boolean
hitEnd()
返回true,如果试图访问最近的匹配操作 附加的文本超出可用的输入,这意味着额外的输入 能改变比赛的结果。
boolean
想匹配的  模式  ,从一开始的 区域(或输入的开始,如果没有地区集)。
boolean
想匹配的  模式  针对整个地区(或 整个输入,如果没有设置区域)。
返回 Pattern   实例内部使用这匹配器。
static  String
返回一个替换字符串给定一个反斜杠 和美元逃出来的迹象。
region(int start, int end)
重置这匹配器和设置一个区域。
int
返回这匹配器区域结束,第一个字符的索引 不考虑匹配。
int
返回这匹配器的地区开始,也就是说,第一个字符的索引 考虑一个匹配。
replaceAll( String replacement)
替换出现的所有这匹配器的模式输入 给定的字符串。
replaceFirst( String replacement)
替换第一次出现这匹配器模式的输入 一个给定的字符串。
boolean
最近返回true,如果匹配成功,可能会导致额外的输入 它失败。
reset()
重置  匹配器   Matcher.
reset( CharSequence input)
提供了一种新的输入和重置  匹配器 
int
start()
返回的第一个字符的索引匹配的文本 完整的正则表达式。
int
start(int group)
返回的第一个字符的索引的文本匹配一个给定的 组。
当前匹配到一个单独的转换  MatchResult  实例 这是独立于这匹配器。
返回一个字符串表示  匹配器 
useAnchoringBounds(boolean value)
决定是否启用这匹配器锚定界限。
usePattern( Pattern pattern)
Sets a new pattern for the  Matcher. 集的新模式  匹配器 
useTransparentBounds(boolean value)
决定是否启用此匹配器透明的界限。
Protected Methods
void(空虚)
时调用垃圾收集器已经探测到这个实例不再是可获得的。


MatchResult

成功匹配的结果 Pattern 对一个 给定的字符串。 通常这是一个实例  Matcher ,但 因为这是一个可变类也有可能冻结当前 国家使用  toMatchResult() 
Public Methods
abstract(摘要) int
end()
返回后的第一个字符的索引匹配的文本 整个正则表达式。
abstract int
end(int group)
返回后的第一个字符的索引匹配的文本 给定组。
abstract  String
group()
返回整个正则表达式的文本匹配。
abstract  String
group(int group)
返回文本匹配给定的正则表达式。
abstract(摘要) int
返回结果的组织,它总是等于 组的数量在最初的正则表达式。
abstract int
start()
返回的第一个字符的索引匹配的文本 完整的正则表达式。
abstract int
start(int group)
返回的第一个字符的索引的文本匹配一个给定的 组。


  1. Pattern p = Pattern.compile("title=\"(.*?)\" href=\"(.*?)\".*?363");  
  2. Matcher m = p.matcher(csdnString); //csdn首页的源代码字符串  
  3. while (m.find()) { //循环查找匹配字串  
  4.     MatchResult mr=m.toMatchResult();  
  5.     Map<String, Object> map = new HashMap<String, Object>();  
  6.     map.put("title", mr.group(1));//找到后group(1)是表达式第一个括号的内容  
  7.     map.put("url", mr.group(2));//group(2)是表达式第二个括号的内容  
  8.     result.add(map);  

Pattern

编译正则表达式模式
flags 总结
Constants
int CANON_EQ 这个常数中指定一个字符 模式 和一个 字符只在输入字符串中匹配是否正规 等价的。
int CASE_INSENSITIVE 这个常数指定 模式 是匹配的 不区分大小写。
int COMMENTS 这个常数指定 模式 可能包含空格或 评论。
int DOTALL 这个常数指定”。 ”元字符匹配任意的 字符,包括线的结局,这通常不是这样的。
int LITERAL 这个常数指定整个 模式 是被 实际上,所有元字符失去意义。
int MULTILINE 这个常数指定元字符“^”和“$”匹配 的开始和结束一个输入行,分别。
int UNICODE_CASE 这个常数指定 模式 使用不区分大小写的匹配 将使用Unicode折叠。
int UNIX_LINES 这个常数指定一个模式匹配Unix行结尾(“\ n”) 只有反对的。 ”、“^”,和“美元”元字符。

公共方法
static  Pattern
compile( String regularExpression, int flags)
返回一个给定的编译形式  regularExpression  修改的 鉴于  旗帜  .
static  Pattern
compile( String pattern)
相当于  Pattern.compile(模式,0) 
int
flags()
返回旗帜供应  编译 
返回一个  匹配器  该模式的应用于给定的  输入 
static boolean
matches( String regularExpression,  CharSequence input)
测试是否给定的  regularExpression  匹配给定的  输入 
返回正则表达式提供  编译 
static  String
quote( String string)
引用给定的  字符串  使用“\问”和“\ E”,所以所有 元字符失去他们的特殊意义。
split( CharSequence input)
相当于  split(input, 0).
split( CharSequence input, int limit)
将给定的  输入  这种模式的出现。
返回一个字符串,其中包含一个简洁的、人类可读的描述 对象。


受保护的方法
void(空虚)
时调用垃圾收集器已经探测到这个实例不再是可获得的。


Matcher

类概述

应用的结果 Patter 对于一个给定的输入。 看到 patter 为 示例使用。

公共方法
appendReplacement( StringBuffer buffer,  String replacement)
附加的文字部分加上一个替代当前的输入 匹配一个给定的  StringBuffer 
附加(无与伦比的)的剩余部分的输入  StringBuffer 
int
end()
返回后的第一个字符的索引匹配的文本 整个正则表达式。
int
end(int group)
返回后的第一个字符的索引匹配的文本 给定组。
boolean
find()
移动到下一个输入模式的出现。
boolean
find(int start)
返回true,如果有另一个匹配输入,开始 从给定的位置。
group()
返回整个正则表达式的文本匹配
group(int group)
返回文本匹配给定的正则表达式。
int
返回结果的组织,它总是等于 组的数量在最初的正则表达式。
boolean
返回true,如果这匹配器锚固范围内启用。
boolean
如果启用此匹配器透明边界返回true。
boolean
hitEnd()
返回true,如果试图访问最近的匹配操作 附加的文本超出可用的输入,这意味着额外的输入 能改变比赛的结果。
boolean
想匹配的  模式  ,从一开始的 区域(或输入的开始,如果没有地区集)。
boolean
想匹配的  模式  针对整个地区(或 整个输入,如果没有设置区域)。
返回 Pattern   实例内部使用这匹配器。
static  String
返回一个替换字符串给定一个反斜杠 和美元逃出来的迹象。
region(int start, int end)
重置这匹配器和设置一个区域。
int
返回这匹配器区域结束,第一个字符的索引 不考虑匹配。
int
返回这匹配器的地区开始,也就是说,第一个字符的索引 考虑一个匹配。
replaceAll( String replacement)
替换出现的所有这匹配器的模式输入 给定的字符串。
replaceFirst( String replacement)
替换第一次出现这匹配器模式的输入 一个给定的字符串。
boolean
最近返回true,如果匹配成功,可能会导致额外的输入 它失败。
reset()
重置  匹配器   Matcher.
reset( CharSequence input)
提供了一种新的输入和重置  匹配器 
int
start()
返回的第一个字符的索引匹配的文本 完整的正则表达式。
int
start(int group)
返回的第一个字符的索引的文本匹配一个给定的 组。
当前匹配到一个单独的转换  MatchResult  实例 这是独立于这匹配器。
返回一个字符串表示  匹配器 
useAnchoringBounds(boolean value)
决定是否启用这匹配器锚定界限。
usePattern( Pattern pattern)
Sets a new pattern for the  Matcher. 集的新模式  匹配器 
useTransparentBounds(boolean value)
决定是否启用此匹配器透明的界限。
Protected Methods
void(空虚)
时调用垃圾收集器已经探测到这个实例不再是可获得的。


MatchResult

成功匹配的结果 Pattern 对一个 给定的字符串。 通常这是一个实例  Matcher ,但 因为这是一个可变类也有可能冻结当前 国家使用  toMatchResult() 
Public Methods
abstract(摘要) int
end()
返回后的第一个字符的索引匹配的文本 整个正则表达式。
abstract int
end(int group)
返回后的第一个字符的索引匹配的文本 给定组。
abstract  String
group()
返回整个正则表达式的文本匹配。
abstract  String
group(int group)
返回文本匹配给定的正则表达式。
abstract(摘要) int
返回结果的组织,它总是等于 组的数量在最初的正则表达式。
abstract int
start()
返回的第一个字符的索引匹配的文本 完整的正则表达式。
abstract int
start(int group)
返回的第一个字符的索引的文本匹配一个给定的 组。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值