recherche par caractères génériques à l'aide de la fonction de remplacement

Ghanem

J'ai essayé d'implémenter la recherche de caractères génériques dans mon application en utilisant certains algorithmes (algorithme k-gram, etc.), mais c'était très complexe.

Jusqu'à ce que je trouve ce code, et il fonctionne parfaitement .. mais je ne sais pas comment il est vérifié et obtenir des résultats!

Code:

public static boolean wildCardMatch(String text, String pattern)
{
  return text.matches( pattern.replace("?", ".?").replace("*", ".*?") );
}

Quelqu'un m'aide-t-il à savoir comment cela fonctionne? quelle est l'idée de remplacer la fonction?

Olivier Grégoire

Ce dont vous parlez s'appelle le modèle glob .

Dans le monde Java, le modèle glob est plus souvent traduit en modèle regex.

Dans votre scénario, l'implémentation est très basique: la replaceméthode est utilisée pour remplacer toutes les occurrences de ?dans l'équivalent regex .?. Ensuite, toutes les occurrences de *sont remplacées par .*?.

Donc, si vous avez le modèle global suivant:, abc*.defl'expression régulière deviendra abc.*?.def.

Lorsque l'expression régulière est enfin prête, elle est utilisée pour être vérifiée par rapport à la variable textà l'aide de la méthode matches. Cette dernière méthode accepte une expression régulière en entrée.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Recherche par caractère de hachage à l'aide de caractères génériques dans elasticsearch

Problème lors de la recherche de QTableWidget à l'aide de caractères génériques

Recherche de caractères numériques à l'aide de caractères génériques dans countif

Impossible de récupérer l'enregistrement à l'aide de la recherche par caractères génériques à l'aide de Mongoose et Node.js

Python - Générer des valeurs pour une nouvelle colonne à l'aide de la recherche par liste de caractères génériques sur une autre colonne

La recherche par caractères génériques ne fonctionne pas pour l'index de chemin

Fonction Excel, recherche de caractères génériques Max (*)

Remplacez un caractère par deux à l'aide de la fonction de remplacement

Regex pour la recherche de caractères génériques (*)

Regex pour la recherche de caractères génériques

Remplacement des caractères non alphanumériques dans la correspondance regex à l'aide de Python

PowerShell : Supprimer le texte de la variable à l'aide de caractères génériques

Notepad ++ Problèmes de recherche / remplacement de caractères génériques

Recherche de chaînes VBA à l'aide de J'aime et de caractères génériques

powershell divisé à l'aide de caractères génériques

Filtrage à l'aide de plusieurs caractères génériques

Spring @CacheEvict à l'aide de caractères génériques

Le remplacement du caractère à l'aide de la fonction JS /g montre undefined

Remplacer la virgule par un point uniquement dans les nombres dans un éditeur de texte à l'aide de la fonction de recherche et de remplacement

Remplacement des caractères uniques en fonction de la saisie de l'utilisateur par HTML et VBscript

PowerShell - Comment obtenir la valeur de la variable d'environnement à l'aide de caractères génériques

API Google Drive: trouver un fichier par son nom à l'aide de caractères génériques?

Ktlint n'autorise pas l'importation de caractères génériques? (Utilisation de la fonction d'importation automatique IntelliJ)

Comment ignorer la sélection de toutes les extensions à l'aide de caractères génériques [ *.* ]

snakemake - remplacement des caractères génériques dans la directive d'entrée par une fonction anonyme

Fonction de filtre de recherche avec des caractères non latins à l'aide de jquery

Caractères génériques de remplacement partiel R gsub

snakemake - remplacement des paramètres de ligne de commande par des caractères génériques par profil de cluster

Résultat incorrect de la recherche de caractères génériques Solr

TOP liste

  1. 1

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  2. 2

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  3. 3

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  4. 4

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  5. 5

    Trouver l'intersection et l'union de deux rectangles

  6. 6

    Comment changer la couleur de la police dans R?

  7. 7

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  10. 10

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  11. 11

    Comment convertir une chaîne en tuple en utilisant `reads`?

  12. 12

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  13. 13

    comment afficher un bouton au-dessus d'un autre élément ?

  14. 14

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  15. 15

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  16. 16

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  19. 19

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  20. 20

    comment le contrôle de tableau javascript devrait-il être

  21. 21

    impossible d'ouvrir un nouvel onglet dans react, ajoute localhost: 3000 sur le lien?

chaudétiquette

Archive