使用 java 通过使用 Microsoft Access 数据库中的部分行来搜索数据

Using java for searching for data by using part of the row in microsoft access database

我有这个table

我正在使用以下代码从我的 table 中检索数据 那returns它的库尔德语单词中包含的所有英文单词 ب⑩رò

targetText="بةرز";
try (PreparedStatement ps = conn.prepareStatement(
"SELECT English,Kurdish FROM Info " +
"WHERE Kurdish = ? " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) ")) {
   ps.setString(1, targetText);
   ps.setString(2, "^[. ]*" + targetText+ "[ ]*[:،,]+[ .]*$");
   ps.setString(3, "^[. ]*[:،,]+[ ]*" + targetText+ "[. ]*$");
   ps.setString(4, "^[. ]*[:،,]+[ ]*" + targetText+ "[ ]*[:،,]+[  .]*$");
   try (ResultSet rSet = ps.executeQuery()) {
      while (rSet.next()) {
         System.out.println(rSet.getString("English"));
         System.out.println(rSet.getString("Kurdish"));
      }
   }
}

所以它工作正常,它打印了我想要的所有英文单词。
我的问题是,当我得到相应的库尔德语单词时,它不会打印完整的单元格。它只打印 ب⑩رò,

例如前面代码的输出应该是:

aesthete
بةرز ، جوانىثةرست
aether
زوَر ناسك ، بةرز ، ثيروَز ، ئاسمانى
affair
بةرز 

但是它打印

aesthete
بةرز 
aether
بةرز 
affair
بةرز 

我该怎么做才能得到我想要的输出?

请注意,我使用 UCanAccess 进行数据库连接,

谢谢大家,我只是在 regx 中做了一些改动就解决了这个问题

targetText="بةرز";
try (PreparedStatement ps = conn.prepareStatement(
   "SELECT English,Kurdish FROM Info " +
   "WHERE Kurdish = ? " +
   "OR REGEXP_MATCHES(Kurdish, ?) " +
   "OR REGEXP_MATCHES(Kurdish, ?) " +
   "OR REGEXP_MATCHES(Kurdish, ?) ")) {
   ps.setString(1, targetText);
   ps.setString(2, "^" + targetText+ "[ ]*(،)[.]*");
   ps.setString(3, "[.]*(،)[ ]*" + targetText+ "$");
   ps.setString(4, "[.]*(،)[ ]*" + targetText+ "[ ]*(،)[.]*");
   try (ResultSet rSet = ps.executeQuery()) {
      while (rSet.next()) {
         System.out.println(rSet.getString("English"));
         System.out.println(rSet.getString("Kurdish"));
      }
   }
}