中文问句语句分析需要提取问句中的关键字
例子1
这个是什么牌子的?
这个是啥价格?
我们需要提取上面语句的"牌子"和"价格"这两个关键字
用正则实现
String reg="((?<=(什么|啥))[^的?\\?]+)";
Pattern pattern =Pattern.compile(reg);
Matcher m=pattern.matcher("这个是什么牌子的?");
while(m.find()){
System.out.println(m.group());//输出“牌子”
}
m=pattern.matcher("这个是啥价格?");
while(m.find()){
System.out.println(m.group());//输出“价格”
}
按上面的实现
完全可以实现 什么|甚么|啥 ***的|啊|呢?这种语句的关键字提取
例子2
现在要提取多个关键字
这种产品是红色的还是蓝色的啊?
这种产品是水货还是正品呢?
我们要提取“红色”“蓝色”和 “水货”,“正品”这些关键字
String reg="((?<=(是))[^的还呢]+)";
Pattern pattern =Pattern.compile(reg);
Matcher m=pattern.matcher("这种产品是红色的还是蓝色的啊?");
while(m.find()){
System.out.println(m.group());//输出“红色”“蓝色”
}
m=pattern.matcher("这种产品是水货还是正品呢?");
while(m.find()){
System.out.println(m.group());//输出“水货”“正品”
}
分享到:
相关推荐
Java正则表达式Java正则表达式Java正则表达式Java正则表达式
java,正则表达式,详解,java正则表达式,PDF
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式java正则表达式
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
正则表达式之道.doc 正则表达式中的特殊字符.doc Java正则表达式详解.doc 正则表达式.ppt JAVA正则表达式--Pattern和Matcher.doc 例子
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~
Java正则表达式构造SQL语句Java正则表达式构造SQL语句Java正则表达式构造SQL语句
java使用正则表达式进行校验验证,主要使用了Pattern和Matcher类,直接main方法运行就可以,亲测有效
JAVA正则表达式JAVA正则表达式JAVA正则表达式
java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解java正则表达式详解
java正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdf
Java正则表达式介绍和练习Java正则表达式介绍和练习Java正则表达式介绍和练习
正则表达式实现的可以多个关键字高亮显示 用字符区分开
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
JAVA正则表达式应用:任意输入一串字符串 如何输入exit退出程序;从输入的字符串中判断是否包含手机号码 正则表达式可以使用" +86| 86 1 d{10}" 如果包含请将其在控制台打印出来 否则输出不包含字符串 ...
正则表达式的使用 java正则表达式的使用示例 java正则表达式
Java正则表达式应用总结
正则表达式匹配工具很好很强大 放心使用 内附各种经典正则匹配公式