Java 正则表达式文字匹配问题

问题描述:

Java 正则表达式文字匹配问题
比如说我有一个词库,可以从中查出一系列的词组,我现在输入一段文字,通过for循环把输入的文字与词库中的词进行匹配,如果含有某个词,则输出这个词.
我的写法如下(rubishInfoList为查出来的词组,keyValuesContained为要输出的词,后面的处理略):
for(MultiMediaRubbishInfo multiMediaRubbishInfo :rubishInfoList)
{
String regex = multiMediaRubbishInfo.getKeyValue();
//通过正则表达式进行匹配
if(Pattern.compile(regex,Pattern.CASE_INSENSITIVE).matcher(content).find())
{
keyValuesContained.append(multiMediaRubbishInfo.getKeyValue()).append(";");
}
}
请问Pattern.compile(regex,Pattern.CASE_INSENSITIVE).matcher(content).find()这样写的意思是什么,另外regex为什么这么写也可以,最后有没有和这不同的思路?
1个回答 分类:英语 2014-12-04

问题解答:

我来补答
egex是一个正则表达式,这是一个变量,Pattern.CASE_INSENSITIVE表示不区分大小写,content是要匹配的文本.这句话的意思是创建一个匹配器来匹配你要验证的词组.
再问: 那为什么直接用词库里面的词作为正则表达式可以呢?
再答: 说明你词库里的是关键字,用关键字来匹配
再问: 原来这里是用关键字匹配,没用到正则表达式?
再答: 是把你关键字作为正则来匹配
 
 
展开全文阅读
剩余:2000
下一页:明矾净水