Regex qui correspond à une déclaration de méthode Java
J'ai besoin d'une Regex qui va correspondre à une méthode java déclaration. Je suis venu avec l'une qui correspond à une déclaration de méthode, mais cela nécessite l'ouverture du support de la méthode pour être sur la même ligne que la déclaration. Si vous avez des suggestions pour améliorer mon regex, ou tout simplement d'un meilleur alors s'il vous plaît soumettre une réponse.
Voici ma regex: "\w+ +\w+ *\(.*\) *\{"
Pour ceux qui ne savent pas ce qu'est une méthode en java on dirait que je vais fournir une base:
int foo()
{
}
Il y a plusieurs pièces en option pour java les méthodes qui peuvent être ajoutés en tant que bien, mais ce sont les seules pièces qu'une méthode est la garantie d'avoir.
Mise à jour:
Ma Regex est "\w+ +\w+ *\([^\)]*\) *\{"
de manière à empêcher que la situation que Mike et adkom décrit.
source d'informationauteur Anton
Vous devez vous connecter pour publier un commentaire.
Avez-vous envisagé d'appariement la réelle possible de mots-clés? tels que:
Il pourrait être un peu plus de chances de correspondre correctement, mais il pourrait aussi rendre la regex plus difficile à lire...
Je pense que les regexp peut correspondre à presque toutes les combinaisons possibles de Java déclarations de méthode, même ceux dont les génériques et les tableaux sont de retour arguments, ce qui est l'expression fournie par l'auteur original n'a pas de match.
J'ai aussi besoin de cette expression régulière et est venu avec cette solution:
Ce la grammaire et Georgios Gousios réponse ont été utiles pour construire les regex.