Example usage for java.util.regex Pattern matches

List of usage examples for java.util.regex Pattern matches

Introduction

In this page you can find the example usage for java.util.regex Pattern matches.

Prototype

public static boolean matches(String regex, CharSequence input) 

Source Link

Document

Compiles the given regular expression and attempts to match the given input against it.

Usage

From source file:de.domjos.schooltools.helper.Helper.java

public static boolean isInteger(String number) {
    return Pattern.matches("^\\d+$", number.trim());
}

From source file:de.domjos.schooltools.helper.Helper.java

public static boolean isDouble(String number) {
    return Pattern.matches("^[0-9]+(.|,)?[0-9]?$", number.trim());
}

From source file:com.zentri.zentri_ble_command_demo.MainActivity.java

private void initBroadcastReceiver() {
    mBroadcastReceiver = new BroadcastReceiver() {
        @Override/*ww  w . j  av  a 2  s.  co  m*/
        public void onReceive(Context context, Intent intent) {
            // Get extra data included in the Intent
            String action = intent.getAction();

            switch (action) {
            case ZentriOSBLEService.ACTION_SCAN_RESULT:
                String name = ZentriOSBLEService.getData(intent);

                //dont show devices with no name (mac addresses)
                if (name != null && !Pattern.matches(PATTERN_MAC_ADDRESS, name)) {
                    addDeviceToList(name);
                }
                break;

            case ZentriOSBLEService.ACTION_CONNECTED:
                String deviceName = ZentriOSBLEService.getData(intent);

                mConnected = true;
                mHandler.removeCallbacks(mConnectTimeoutTask);//cancel timeout timer
                dismissDialog(mConnectProgressDialog);
                showToast("Connected to " + deviceName, Toast.LENGTH_SHORT);
                Log.d(TAG, "Connected to " + deviceName);

                startDeviceInfoActivity();
                break;

            case ZentriOSBLEService.ACTION_DISCONNECTED:
                mConnected = false;
                break;

            case ZentriOSBLEService.ACTION_ERROR:
                ErrorCode errorCode = ZentriOSBLEService.getErrorCode(intent);
                //handle errors
                if (errorCode == ErrorCode.CONNECT_FAILED) {
                    if (!mConnected && mConnecting) {
                        mConnecting = false;//allow another attempt to connect
                        dismissDialog(mConnectProgressDialog);
                    } else {
                        mConnected = false;
                    }

                    showErrorDialog(R.string.con_err_message, false);
                }
                break;
            }
        }
    };
}

From source file:com.silverpeas.util.StringUtil.java

public static boolean isValidHour(final String time) {
      if (!isDefined(time)) {
          return false;
      }/*from  w w w . j av a2 s. co m*/
      return Pattern.matches(HOUR_PATTERN, time);
  }

From source file:org.openmrs.module.peer.api.db.hibernate.HibernatePeerDAO.java

/**
 * Utility method to add identifier expression to an existing criteria
 *
 * @param criteria//from  w  ww. j a  v  a2  s. c  o m
 * @param identifier
 * @param identifierTypes
 * @param matchIdentifierExactly
 */
private void addIdentifierCriterias(Criteria criteria, String identifier,
        List<PatientIdentifierType> identifierTypes, boolean matchIdentifierExactly) {
    // TODO add junit test for searching on voided identifiers

    // add the join on the identifiers table
    criteria.createAlias("identifiers", "ids");
    criteria.add(Expression.eq("ids.voided", false));

    // do the identifier restriction
    if (identifier != null) {
        // if the user wants an exact search, match on that.
        if (matchIdentifierExactly) {
            criteria.add(Expression.eq("ids.identifier", identifier));
        } else {
            AdministrationService adminService = Context.getAdministrationService();
            String regex = adminService
                    .getGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_IDENTIFIER_REGEX, "");
            String patternSearch = adminService
                    .getGlobalProperty(OpenmrsConstants.GLOBAL_PROPERTY_PATIENT_IDENTIFIER_SEARCH_PATTERN, "");

            // remove padding from identifier search string
            if (Pattern.matches("^\\^.{1}\\*.*$", regex)) {
                identifier = removePadding(identifier, regex);
            }

            if (StringUtils.hasLength(patternSearch)) {
                //splitAndAddSearchPattern(criteria, identifier, patternSearch);
            }
            // if the regex is empty, default to a simple "like" search or if
            // we're in hsql world, also only do the simple like search (because
            // hsql doesn't know how to deal with 'regexp'
            else if (regex.equals("") || HibernateUtil.isHSQLDialect(sessionFactory)) {
                addCriterionForSimpleSearch(criteria, identifier, adminService);
            }
            // if the regex is present, search on that
            else {
                //                    regex = replaceSearchString(regex, identifier);
                //                    criteria.add(Restrictions.sqlRestriction("identifier regexp ?", regex, Hibernate.STRING));
            }
        }
    }

    // TODO add a junit test for patientIdentifierType restrictions

    // do the type restriction
    if (identifierTypes.size() > 0) {
        criteria.add(Expression.in("ids.identifierType", identifierTypes));
    }
}

From source file:com.albert.util.StringUtilCommon.java

/**
 * Check if a string is a integer/*from   ww  w.  j  a va2s  . c o  m*/
 * 
 * @param string
 * @return boolean
 */
public static boolean isInteger(String str) {
    return Pattern.matches("^\\d*$", str);
}

From source file:fi.vm.sade.organisaatio.business.impl.OrganisaatioBusinessServiceImpl.java

@Override
public OrganisaatioResult save(OrganisaatioRDTO model, boolean updating, boolean skipParentDateValidation)
        throws ValidationException {
    // Tarkistetaan OID
    if (model.getOid() == null && updating) {
        throw new ValidationException("Oid cannot be null");//trying to update organisaatio that doesn't exist (is is null)");
    } else if (!updating) {
        if ((model.getOid() != null) && (organisaatioDAO.findByOid(model.getOid()) != null)) {
            throw new OrganisaatioExistsException(model.getOid());
        }// w  w  w  . j a v  a 2s  . c  om

        if (model.getOppilaitosKoodi() != null && model.getOppilaitosKoodi().length() > 0) {
            if (checker.checkLearningInstitutionCodeIsUniqueAndNotUsed(model)) {
                throw new LearningInstitutionExistsException("organisaatio.oppilaitos.exists.with.code");
            }
        }
    }

    // Haetaan parent organisaatio
    Organisaatio parentOrg = (model.getParentOid() != null
            && !model.getParentOid().equalsIgnoreCase(rootOrganisaatioOid))
                    ? organisaatioDAO.findByOid(model.getParentOid())
                    : null;

    // Validointi: Tarkistetaan, ett parent ei ole ryhm
    if (parentOrg != null && OrganisaatioUtil.isRyhma(parentOrg)) {
        throw new ValidationException("Parent cannot be group");
    }

    // Validointi: Tarkistetaan, ett ryhm ei olla lismss muulle kuin oph organisaatiolle
    if (OrganisaatioUtil.isRyhma(model)
            && model.getParentOid().equalsIgnoreCase(rootOrganisaatioOid) == false) {
        throw new ValidationException("Ryhmi ei voi luoda muille kuin oph organisaatiolle");
    }

    // Validointi: Jos organisaatio on ryhm, tarkistetaan ettei muita ryhmi
    if (OrganisaatioUtil.isRyhma(model) && model.getTyypit().size() != 1) {
        throw new ValidationException("Rymll ei voi olla muita tyyppej");
    }

    // Validointi: Jos y-tunnus on annettu, sen tytyy olla oikeassa muodossa
    if (model.getYTunnus() != null && model.getYTunnus().length() == 0) {
        model.setYTunnus(null);
    }
    if (model.getYTunnus() != null
            && !Pattern.matches(OrganisaatioValidationConstraints.YTUNNUS_PATTERN, model.getYTunnus())) {
        throw new ValidationException("validation.Organisaatio.ytunnus");
    }

    // Validointi: Jos virastotunnus on annettu, sen tytyy olla oikeassa muodossa
    if (model.getVirastoTunnus() != null && model.getVirastoTunnus().length() == 0) {
        model.setVirastoTunnus(null);
    }
    if (model.getVirastoTunnus() != null && !Pattern
            .matches(OrganisaatioValidationConstraints.VIRASTOTUNNUS_PATTERN, model.getVirastoTunnus())) {
        throw new ValidationException("validation.Organisaatio.virastotunnus");
    }

    // Validointi: koodistoureissa pit olla versiotieto
    checker.checkVersionInKoodistoUris(model);

    Map<String, String> oldName = null;
    if (updating) {
        Organisaatio oldOrg = organisaatioDAO.findByOid(model.getOid());
        oldName = new HashMap<>(oldOrg.getNimi().getValues());
    }

    // Luodaan tallennettava entity objekti
    Organisaatio entity = conversionService.convert(model, Organisaatio.class); //this entity is populated with new data

    // Asetetaan parent path
    setParentPath(entity, model.getParentOid());

    // Tarkistetaan ett toimipisteen nimi on oikeassa formaatissa
    if (parentOrg != null
            && (organisaatioIsOfType(entity, OrganisaatioTyyppi.TOIMIPISTE)
                    || organisaatioIsOfType(entity, OrganisaatioTyyppi.OPPISOPIMUSTOIMIPISTE))
            && !organisaatioIsOfType(entity, OrganisaatioTyyppi.OPPILAITOS)) {
        checker.checkToimipisteNimiFormat(entity, parentOrg.getNimi());
    }

    // Asetetaan pivittj ja pivityksen aikaleima
    try {
        entity.setPaivittaja(getCurrentUser());
        entity.setPaivitysPvm(new Date());
    } catch (Throwable t) {
        LOG.error("Could not set updater for organisation!", t);
        throw new OrganisaatioResourceException(Response.Status.INTERNAL_SERVER_ERROR, t.getMessage(),
                "error.setting.updater");
    }

    // Pivitystapauksessa pitaa asetta id:t, ettei luoda uusia rivej
    boolean parentChanged = false;
    Organisaatio oldParent = null;
    if (updating) {
        Organisaatio orgEntity = this.organisaatioDAO.findByOid(model.getOid());
        mergeAuxData(entity, orgEntity);
        entity.setId(orgEntity.getId());
        entity.setOpetuspisteenJarjNro(orgEntity.getOpetuspisteenJarjNro());

        // Tarkistetaan organisaatiohierarkia jos hierarkia muuttunut (onko parent muuttunut)
        if (model.getParentOid().equals(orgEntity.getParent().getOid()) == false) {
            LOG.info("Hierarkia muuttunut, tarkastetaan hierarkia.");
            checker.checkOrganisaatioHierarchy(entity, model.getParentOid());
            parentChanged = true;
            oldParent = orgEntity.getParent();
        }

        // Tarkistetaan organisaatiohierarkia jos organisaatiotyypit muutuneet
        if (!entity.getTyypit().containsAll(orgEntity.getTyypit())
                || !orgEntity.getTyypit().containsAll(entity.getTyypit())) {
            LOG.info("Organisaation tyypit muuttuneet, tarkastetaan hierarkia.");
            checker.checkOrganisaatioHierarchy(entity, model.getParentOid());
        }

        // Tarkistetaan ettei lakkautuspivmrn jlkeen ole alkavia koulutuksia
        if (OrganisaatioUtil.isSameDay(entity.getLakkautusPvm(), orgEntity.getLakkautusPvm()) == false) {
            LOG.info("Lakkautuspivmr muuttunut, tarkastetaan alkavat koulutukset.");
            checker.checkLakkautusAlkavatKoulutukset(entity);
        }
    } else {
        // Tarkistetaan organisaatio hierarkia
        checker.checkOrganisaatioHierarchy(entity, model.getParentOid());
    }

    // Generoidaan oidit
    try {
        generateOids(entity);
        generateOidsMetadata(entity.getMetadata());
    } catch (ExceptionMessage em) {
        throw new OrganisaatioResourceException(Response.Status.INTERNAL_SERVER_ERROR, em.getMessage());
    }

    // Generoidaan opetuspiteenJarjNro
    String opJarjNro = null;
    if (!updating && StringUtils.isEmpty(model.getOpetuspisteenJarjNro())) {
        opJarjNro = generateOpetuspisteenJarjNro(entity, parentOrg, model.getTyypit());
        entity.setOpetuspisteenJarjNro(opJarjNro);
    } else {
        opJarjNro = entity.getOpetuspisteenJarjNro();
    }

    // If inserting, check if ytunnus allready exists in the database
    if (!updating && entity.getYtunnus() != null) {
        checker.checkYtunnusIsUniqueAndNotUsed(entity.getYtunnus());
    }

    entity.setOrganisaatioPoistettu(false);

    // OVT-4765 do not validate start date against parent date when updating
    if (updating) {
        LOG.info("this is an update, not validating parent dates.");
        skipParentDateValidation = true;
    }

    // OH-116
    if (parentOrg != null) {
        // Check if organization has parent and if it has check that passivation dates match to parent
        OrganisationDateValidator dateValidator = new OrganisationDateValidator(skipParentDateValidation);
        if (!dateValidator.apply(Maps.immutableEntry(parentOrg, entity))) {
            throw new OrganisaatioDateException();
        }
    }

    // Asetetaan yhteystietoarvot
    entity.setYhteystietoArvos(mergeYhteystietoArvos(entity, entity.getYhteystietoArvos(), updating));

    // Kirjoitetaan yhteystiedot uusiksi (ei pivitet vanhoja)
    for (Yhteystieto yhtTieto : entity.getYhteystiedot()) {
        yhtTieto.setOrganisaatio(entity);
    }

    // Kirjoitetaan nimihistoria uusiksi (ei pivitet vanhoja)
    for (OrganisaatioNimi nimi : entity.getNimet()) {
        nimi.setOrganisaatio(entity);
    }

    // Nimihistoriaan liittyvt tarkistukset (HUOM! Ei koske Ryhmi)
    if (OrganisaatioUtil.isRyhma(entity) == false) {
        /** @TODO --> Tarkistetaan, ettei nimihistoriaa muuteta muuta kuin nykyisen tai uusimman nimen osalta */
        // Tarkistetaan, ett nimen alkupivmr ei ole NULL
        checker.checkNimihistoriaAlkupvm(entity.getNimet());

        // Tarkistetaan, ett nimihistoriassa on organisaatiolle validi nimi
        MonikielinenTeksti nimi = OrganisaatioNimiUtil.getNimi(entity.getNimet());
        if (nimi == null) {
            throw new OrganisaatioNameHistoryNotValidException();
        }

        // Tarkistetaan, ett organisaatiolle asetettu nimi ei ole
        // ristiriidassa nimihistorian kanssa
        if (nimi.getValues().equals(entity.getNimi().getValues()) == false) {
            throw new OrganisaatioNameHistoryNotValidException();
        }

        // Asetetaan organisaatiolle sama nimi instanssi kuin nimihistoriassa
        entity.setNimi(nimi);
    }

    // Asetetaan tyypit "organisaatio" taulun kenttn
    String tyypitStr = "";
    for (String curTyyppi : model.getTyypit()) {
        tyypitStr += curTyyppi + "|";
    }
    entity.setOrganisaatiotyypitStr(tyypitStr);

    // Generate natural key, OVT-4954
    // "Jos kyseess on koulutustoimija pitisi palauttaa y-tunnus."
    // "Jos oppilaitos, palautetaan oppilaitosnumero."
    // "Jos toimipiste, palautetaan oppilaitosnro+toimipisteenjrjestysnumero(konkatenoituna)sek yhkoulukoodi."
    entity.setToimipisteKoodi(calculateToimipisteKoodi(entity, parentOrg));

    // call super.insert OR update which saves & validates jpa
    if (updating) {
        LOG.info("updating " + entity);
        try {
            organisaatioDAO.update(entity);
        } catch (OptimisticLockException ole) {
            throw new OrganisaatioModifiedException(ole);
        }
        entity = organisaatioDAO.read(entity.getId());
    } else {
        entity = organisaatioDAO.insert(entity);
    }

    // Saving the parent relationship
    if (parentOrg == null) {
        // Koulutustoimija in root level is stored under OPH
        Organisaatio uberParent = organisaatioDAO.findByOid(rootOrganisaatioOid);
        entity = saveParentSuhde(entity, uberParent, opJarjNro);
    } else {
        entity = saveParentSuhde(entity, parentOrg, opJarjNro);
        if (!updating && entity.getParent() != null) {
            solrIndexer.index(Arrays.asList(parentOrg));
        }
    }

    // Indeksoidaan organisaatio solriin (HUOM! Ryhmi ei indeksoida)
    // Uuden organisaation tapauksessa uudelleenindeksoidaan mys parent
    if (OrganisaatioUtil.isRyhma(entity) == false) {
        solrIndexer.index(entity);

        if ((parentChanged || !updating) && parentOrg != null) {
            solrIndexer.index(parentOrg);
        }
    }

    // Tarkistetaan ja pivitetn oppilaitoksen alla olevien opetuspisteiden nimet
    if (updating && parentOrg != null && organisaatioIsOfType(entity, OrganisaatioTyyppi.OPPILAITOS)) {
        updateOrganisaatioNameHierarchy(entity, oldName);
    }

    // Parent changed update children and reindex old parent.
    if (parentChanged) {
        updateChildrenRecursive(entity);
        solrIndexer.index(oldParent);
    }

    // Pivit tiedot koodistoon.
    String info = organisaatioKoodisto.paivitaKoodisto(entity, true);

    return new OrganisaatioResult(entity, info);
}

From source file:net.spfbl.whois.Domain.java

/**
 * Verifica se o endereo contm um domnio.
 * @param address o endereo a ser verificado.
 * @return verdadeiro se o endereo contm um domnio.
 *//* ww w . j  a v  a2  s.  co m*/
public static boolean containsDomain(String address) {
    if (address == null) {
        return false;
    } else {
        address = address.trim();
        if (SubnetIPv4.isValidIPv4(address)) {
            return false;
        } else {
            address = address.toLowerCase();
            return Pattern.matches(
                    "^([a-zA-Z0-9._%+=-]+@)?" + "(([a-zA-Z0-9_]|[a-zA-Z0-9_][a-zA-Z0-9_-]{0,61}[a-zA-Z0-9])"
                            + "(\\.([a-zA-Z0-9_]|[a-zA-Z0-9_][a-zA-Z0-9_-]{0,61}[a-zA-Z0-9]))*)" + "$",
                    address);

        }
    }
}

From source file:ca.sfu.federation.model.Expression.java

/**
 * Determines if the string can be converted to a number. This code is from 
 * the Java Doc, and can be found at http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Double.html#valueOf(java.lang.String)
 * @param s User defined string./*from   www  . j av  a 2s .  com*/
 * @return True if the value can be converted to a number.
 */
private static boolean isNumberLiteral(String s) {
    boolean result = false;
    final String Digits = "(\\p{Digit}+)";
    final String HexDigits = "(\\p{XDigit}+)";
    // an exponent is 'e' or 'E' followed by an optionally signed decimal integer.
    final String Exp = "[eE][+-]?" + Digits;
    final String fpRegex = ("[\\x00-\\x20]*" + // Optional leading "whitespace"
            "[+-]?(" + // Optional sign character
            "NaN|" + // "NaN" string
            "Infinity|" + // "Infinity" string
            // Digits ._opt Digits_opt ExponentPart_opt FloatTypeSuffix_opt
            "(((" + Digits + "(\\.)?(" + Digits + "?)(" + Exp + ")?)|" +
            // . Digits ExponentPart_opt FloatTypeSuffix_opt
            "(\\.(" + Digits + ")(" + Exp + ")?)|" +
            // Hexadecimal strings
            "((" +
            // 0[xX] HexDigits ._opt BinaryExponent FloatTypeSuffix_opt
            "(0[xX]" + HexDigits + "(\\.)?)|" +
            // 0[xX] HexDigits_opt . HexDigits BinaryExponent FloatTypeSuffix_opt
            "(0[xX]" + HexDigits + "?(\\.)" + HexDigits + ")" + ")[pP][+-]?" + Digits + "))" + "[fFdD]?))"
            + "[\\x00-\\x20]*");// Optional trailing "whitespace"
    if (Pattern.matches(fpRegex, s))
        result = true;
    else {
        result = false;
    }
    // return result
    return result;
}

From source file:com.albert.util.StringUtilCommon.java

/**
 * Check if a string is a valid driver license
 * //from  w  ww .  j av  a 2 s . com
 * @param string
 *            -- 15 long licnese characters
 * @param aDate
 *            -- dob of driver
 * @return boolean
 */
public static boolean isValidDriverLicense(Date aDate, String str) {
    boolean valid = false;
    valid = Pattern.matches("[a-zA-Z]\\d{12}(0[1-9]|[12][0-9]|3[01])", str);
    if (valid) {
        String strDate = DateUtilCommon.getDate(aDate);
        String str1011 = str.substring(9, 11); // 10th and 11th characters
        // -- year of driver's dob
        String str1415 = str.substring(13, 15);// 14th and 15th characters
        // -- day of driver's dob
        String dobdd = strDate.substring(3, 5);
        String dobyy = strDate.substring(8, 10);
        if (!dobdd.equals(str1415) || !dobyy.equals(str1011)) {
            valid = false;
        }
    }
    return valid;
}