android 正则表达式基础学习

来源:互联网 发布:怪物猎人ol 优化设置 编辑:程序博客网 时间:2024/05/16 06:58


  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 总结
ConstantsintCANON_EQ这个常数中指定一个字符 模式 和一个 字符只在输入字符串中匹配是否正规 等价的。intCASE_INSENSITIVE这个常数指定 模式 是匹配的 不区分大小写。intCOMMENTS这个常数指定 模式 可能包含空格或 评论。intDOTALL这个常数指定”。 ”元字符匹配任意的 字符,包括线的结局,这通常不是这样的。intLITERAL这个常数指定整个 模式 是被 实际上,所有元字符失去意义。intMULTILINE这个常数指定元字符“^”和“$”匹配 的开始和结束一个输入行,分别。intUNICODE_CASE这个常数指定 模式 使用不区分大小写的匹配 将使用Unicode折叠。intUNIX_LINES这个常数指定一个模式匹配Unix行结尾(“\ n”) 只有反对的。 ”、“^”,和“美元”元字符。

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


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


Matcher

类概述

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

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


MatchResult

成功匹配的结果Pattern对一个 给定的字符串。 通常这是一个实例 Matcher,但 因为这是一个可变类也有可能冻结当前 国家使用 toMatchResult() 
Public Methods
abstract(摘要) int
end()
返回后的第一个字符的索引匹配的文本 整个正则表达式。
abstract int
end(int group)
返回后的第一个字符的索引匹配的文本 给定组。
abstract String
group()
返回整个正则表达式的文本匹配。
abstract String
group(int group)
返回文本匹配给定的正则表达式。
abstract(摘要) int
groupCount()
返回结果的组织,它总是等于 组的数量在最初的正则表达式。
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 总结
ConstantsintCANON_EQ这个常数中指定一个字符 模式 和一个 字符只在输入字符串中匹配是否正规 等价的。intCASE_INSENSITIVE这个常数指定 模式 是匹配的 不区分大小写。intCOMMENTS这个常数指定 模式 可能包含空格或 评论。intDOTALL这个常数指定”。 ”元字符匹配任意的 字符,包括线的结局,这通常不是这样的。intLITERAL这个常数指定整个 模式 是被 实际上,所有元字符失去意义。intMULTILINE这个常数指定元字符“^”和“$”匹配 的开始和结束一个输入行,分别。intUNICODE_CASE这个常数指定 模式 使用不区分大小写的匹配 将使用Unicode折叠。intUNIX_LINES这个常数指定一个模式匹配Unix行结尾(“\ n”) 只有反对的。 ”、“^”,和“美元”元字符。

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


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


Matcher

类概述

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

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


MatchResult

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


0 0