org.jooq.Field.likeRegex()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(5.1k)|赞(0)|评价(0)|浏览(233)

本文整理了Java中org.jooq.Field.likeRegex()方法的一些代码示例,展示了Field.likeRegex()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Field.likeRegex()方法的具体详情如下:
包路径:org.jooq.Field
类名称:Field
方法名:likeRegex

Field.likeRegex介绍

[英]Create a condition to regex-pattern-check this field against a pattern.

The SQL:2008 standard specifies a <regex like predicate> of the following form: ``

<regex like predicate> ::= 
<row value predicand> <regex like predicate part 2> 
<regex like predicate part 2> ::= 
[ NOT ] LIKE_REGEX <XQuery pattern> [ FLAG <XQuery option flag> ]

This particular LIKE_REGEX operator comes in several flavours for various databases. jOOQ supports regular expressions as follows:
SQL dialectSQL syntaxPattern syntaxDocumentationSQLDialect#ASE---SQLDialect#CUBRID[search] REGEXP [pattern]POSIXhttp://www.cubrid.org/manual/841/en/REGEXP Conditional ExpressionSQLDialect#DB2---SQLDialect#DERBY---SQLDialect#H2[search] REGEXP [pattern]Javahttp ://www.h2database.com/html/grammar.html#condition_right_hand_sideSQLDialect#HSQLDBREGEXP_MATCHES([search], [pattern])Javahttp://hsqldb.org/doc/guide/builtinfunctions-chapt.html#N13577SQLDialect#INGRES---SQLDialect#MYSQL[search] REGEXP [pattern]POSIXhttp://dev .mysql.com/doc/refman/5.6/en/regexp.htmlSQLDialect#ORACLEREGEXP_LIKE([search], [pattern])POSIXhttp://docs.oracle.com/cd/E14072_01/server.112/e10592/conditions007.htm# sthref1994SQLDialect#POSTGRES[search] ~ [pattern]POSIXhttp://www.postgresql.org/docs/9.1/static/functions-matching.html# FUNCTIONS-POSIX-REGEXPSQLDialect#SQLITE[search] REGEXP [pattern]? This module has to be loaded explicitlyhttp://www.sqlite.org/ lang_expr.htmlSQLDialect#SQLSERVER---SQLDialect#SYBASE[search] REGEXP [pattern]Perlhttp://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0 .1/dbreference/like-regexp-similarto.html
[中]为正则表达式模式创建一个条件,根据模式检查此字段。
SQL:2008标准指定了以下形式的<regex like predicate>:``

<regex like predicate> ::= 
<row value predicand> <regex like predicate part 2> 
<regex like predicate part 2> ::= 
[ NOT ] LIKE_REGEX <XQuery pattern> [ FLAG <XQuery option flag> ]

对于各种数据库,这个特殊的LIKE_REGEX操作符有几种风格。jOOQ支持如下正则表达式:
(3.3美元)Posisix{{{[3元元元3美元POSIX{{{{00元元元元元元元元元元元元元元元元元语法语法语法词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇语法语法语法语法语法语法语法语法语法语法语法词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇词汇语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法语法{$4$}SQLALYENT#POSTGRES[search] ~ [pattern]POSIX{http://www.postgresql.org/docs/9.1/static/functions-matching.html# FUNCTIONS-POSIX-REGEXPSQLALYENT#SQLITE[search] REGEXP [pattern]? 必须显式加载此模块http://www.sqlite.org/ lang_expr.htmlsqldialent#SQLSERVER--sqldialent#SYBASE[search] REGEXP [pattern]Perlhttp://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0 .1/dbreference/like-regexp-similarto.html

代码示例

代码示例来源:origin: unipop-graph/unipop

private Condition getTextCondition(Object value, BiPredicate<?, ?> biPredicate, Field<Object> field) {
    String predicateString = biPredicate.toString();
    switch (predicateString) {
      case ("LIKE"):
        return field.like(value.toString().replace("*", "%"));
      case ("UNLIKE"):
        return field.notLike(value.toString().replace("*", "%"));
      case ("REGEXP"):
        return field.likeRegex(value.toString());
      case ("UNREGEXP"):
        return field.notLikeRegex(value.toString());
      case ("PREFIX"):
        return field.like(value.toString() + "%");
      case ("UNPREFIX"):
        return field.notLike(value.toString() + "%");
      default:
        throw new IllegalArgumentException("predicate not supported in has step: " + biPredicate.toString());
    }
  }
}

代码示例来源:origin: infiniteautomation/ma-core-public

Condition fieldMatchesUserPermission(Field<String> field, String userPermission) {
  return DSL.or(
      field.eq(userPermission),
      DSL.and(
          field.isNotNull(),
          field.notEqual(""),
          field.likeRegex(PERMISSION_START_REGEX + userPermission + PERMISSION_END_REGEX)
          )
      );
}

代码示例来源:origin: infiniteautomation/ma-core-public

private Condition fieldMatchesPermission(Field<Object> field, Object permission) {
  //For now only support strings
  if(!(permission instanceof String))
    return DSL.falseCondition();
  return DSL.or(
      field.eq(permission),
      DSL.and(
          field.isNotNull(),
          field.notEqual(""),
          field.likeRegex(PERMISSION_START_REGEX + permission + PERMISSION_END_REGEX)
          )
      );
}

代码示例来源:origin: com.torodb.torod.backends/common

@Override
public Condition visit(MatchPatternQueryCriteria criteria, Boolean inArray) {
  String[] keys = translateArrayRef(criteria);
  Field field = DSL.field(databaseInterface.arraySerializer().getFieldName(keys));
  Condition typeCondition = null;
  if (isInArrayValue(criteria.getAttributeReference(), inArray)) {
    typeCondition = databaseInterface.arraySerializer().typeof(
        field.getName(),
        getJsonType(ScalarType.STRING)
    );
  }
  Condition criteriaCondition = field.likeRegex(
      PatternConverter.toPosixPattern(
          criteria.getPattern()
      )
  );
  if (typeCondition != null) {
    criteriaCondition = typeCondition.and(criteriaCondition);
  }
  return addArrayCondition(criteria, criteriaCondition, keys, inArray);
}

相关文章