您的位置:首页 > 移动开发 > Android开发

android 正则表达式基础学习

2016-02-19 20:38 495 查看


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


Pattern

编译正则表达式模式
flags 总结
Constants
intCANON_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)
返回的第一个字符的索引的文本匹配一个给定的 组。


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


Pattern

编译正则表达式模式
flags 总结
Constants
intCANON_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)
返回的第一个字符的索引的文本匹配一个给定的 组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息