如何用java实现模糊查询

比如说我有个集合ArrayList<String> aList,
aList中的元素的规范是前三个是英文 当中是两个数字再是两个字母两个数字
形如abc12de34,
现在问题是如何找到
aList中有哪些元素符合形如abc02de02这样的规范(当中的数字皆为02),并且返回他们的索引。

最好能给出一个完整的代码,效率也高一些的
谢谢

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class TestDemo {
public static void main(String[] args) {
List<String> aList=new ArrayList<String>();
aList.add("abc12de34");
aList.add("abc02de02");
String regex="^[a-zA-Z]{3}02[a-zA-Z]{2}02$";
Iterator<String> it =aList.iterator();
while(it.hasNext()){
String str=it.next();
System.out.println(str+"==");
if(str.matches(regex)){
System.out.println(str);
}
}
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-04

    要实现模糊查询,首先得明白所使用的数据库到底是什么,对应的语句又是什么;

    一般而言模糊查询要根据所搜索的内容进行模糊匹配;

    关键字like的实现

    例如:select * from table where name like %yugi%;

第2个回答  2011-07-05
你调用这个方法,返回的List就是你要的结果了
public static List<Integer> find(List<String> strList) {
List<Integer> resultList = new ArrayList<Integer>();
String regex = "[a-zA-Z]{3}02[a-zA-Z]{2}02";
for(int i = 0; i < strList.size(); i++) {
Matcher matcher = Pattern.compile(regex).matcher(strList.get(i));
if(matcher.matches()) {
resultList.add(i);
}
}
return resultList;
}
第3个回答  2011-07-05
for(int i=0;i<aList.length();i++){
if((aList.charAt(4)=='0')&&(aList.charAt(5)=='2')&&(aList.charAt(7)=='0')&&(aList.charAt(8)=='2')){
System.out.println(i);
}
}
最好自己敲进去,应该没什么问题
第4个回答  2022-07-29
对于模糊查询T-SQL有四个通配符
%:包含0个或多个字符
_:匹配指定;
[]:指定范围
[^]:排除范围
对于稍复杂点的关键词搜索(比如新闻),常用的办法是在数据库中添加一个keyword字段,来配合通配符进行模糊查询或分类查询或热门关键字查询。关于复杂点的模糊查询,更好的方法是不用这些通配符来实现,而是通过js来实现(例如输入时产生搜索提示),或其他方法来作,思路是尽量少的对数据库进行操作。
    官方服务
      官方网站官方网站

Java培训:Map的使用和模糊查询
然而,Map的模糊查询不像数据库那样直接,通常需要通过遍历来实现。如下面示例所示:javaMap map = new HashMap>();map.put("1", "Apple");map.put("2", "Banana");map.put("3", "Cat");map.put("4", "Dog");String keyword = "a";for (Map.Entry entry : map.entrySet()) { ...

MyBatis-Plus QueryWrapper 模糊查询
首先定义一个方法,如searchUsers,接收关键词、分页信息作为参数。接着创建QueryWrapper实例,通过like方法构建模糊查询条件。在实际代码中,需替换your.package为实际的包路径,同时确保UserService和User类与项目需求相符。具体实现如下:java public Page searchUsers(String keyword, int pageNum, int pageSi...

JAVA项目\/JSP页面 中 怎样实现模糊查询
jsp实现模糊查询 实际就是在后台使用 like关键字和 % 符号做查询 比如查询所有姓 王 的人.jsp文本框输入王 点击查询按钮 把文本框的值传入后台 在后台拼接sql语句 select * from user where name like '王%';'王%' 代表 以'王'字开头 后面没有、一个或多个字符 '%王%' 标识 只要字符中 ...

PreparedStatement进行模糊查询时的问题
代码中使用PreparedStatement进行模糊查询,通过设置SQL语句中的`?`占位符,动态传入查询条件。首先,导入所需的Java SQL包,并定义连接数据库的参数,如驱动名、数据库连接URL、用户名和密码。尝试性地初始化数据库连接,调用`getConnection`方法并传入URL、用户名和密码。定义SQL语句,其内容为从`authors`表...

急求java web代码,如图,点击精确查询,点击“确定”就可以精确查询,点击...
一、简单点就把这些都放到标签里面,form里面的action就是接收form表单数据的页面或servlet;精确查询和模糊查询分别用name都一样的type="radio"的input标签,如:;然后submit确定提交。二、页面或servlet将表单数据取到,判断type的值是精确查询还是模糊查询?SQL语句中,精确查询都用“=”号,如:select ...

JAVA方法,SQL语句模糊查询?
and title like "++" and writer like "+writer+"";改成 String sql="select * from ARITCLE where type="+type+" and title like '%"++"%' and writer like '%"+writer+"'%";如果writer 这些参数是用户输入而且不经过处理的话 拼接字符串生成查询语句,会使SQL注入攻击变得相当容易 ...

如何在java List中进行模糊查询
这样一个List,里面存放的是多个Employee对象。然后我想对这个List进行按照Employee对象的名字进行模糊查询。有什么好的解决方案么?比如我输入的查询条件为“wang”,那么应该返回只包含employee1的List列表。List list = new ArrayList();Employee employee1 = new Employee();employee1.setName("wangqiang...

java的方法 实现模糊查询 想实现一个可编辑的下拉框 数据是数据库读出...
ajax异步交互就可以实现,思路就是他说的,每当你输入框内数据改变触发一个事件,事件执行的目的就是从后台取出匹配当前输入的信息列表,同时动态加载到前台的列表项中,同理,只要前台输入框内数据一改变,就进行一次数据库交互。但是页面不会闪,因为表面上不走后台。做的是异步交互。

java后天怎么数据查询
使用JDBC连接数据库,然后写一条sql 语句 :"select * from table where rows like ‘% "+查询条件+"%'; 这是模糊查询。 然后 就是接受页面传过来的值就可以了!

LDAP在JAVA中如何模糊查询
\/** * 获得LDAP连接(不通过连接池,直接获得连接) * @return * @throws Exception *\/ private javax.naming.directory.DirContext getDirContext() throws Exception { DirContext ctx = null; java.util.Hashtable env = new java.util.Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "...

相似回答