-5

これらのルールに従って、Java のメソッドの正規表現が必要です。

  1. プライベート/パブリックまたはこれらのいずれもありません
  2. void メソッドのみ (戻りメソッドなし)
  3. メソッド名は文字で始める必要がありますが、「_」または数字を含めることができます。

メソッド名"([a-zA-Z])\\w*" の正規表現を取得しました: パラメータ名の正規表現も取得しました:"(_|[a-zA-Z])\\w*"

そのようなもの:

void name (parameters) {

void は変更されません。名前は私が提供した正規表現に従っており、パラメーターは final および int、string、char、double、および boolean にすることができますが、空白にすることもできます: ()

どんな助けでも大歓迎です:)

4

2 に答える 2

2

非正規言語を解析するために正規表現を悪用しないでください。

このタスクに間違ったツールを使用しています。

代わりに、Java 構文のように、LALR(1) 言語用のパーサーを使用してください。

LALR パーサーに関するウィキペディア:

https://en.wikipedia.org/wiki/LALR_parser

LALR 言語用の Java パーサー ジェネレーター「CUP」:

http://www2.cs.tum.edu/projects/cup/

(そして、正規表現などの不適切なツールを使用してパーサーを自分で作成するよりも、CUP などのツールを使用してパーサーを作成する方がはるかに賢明です)

そして、例としてCUPに含まれるものを推測してください:

例: Java プログラミング言語 1.0 から 1.5 の CUP 文法

于 2013-06-02T14:19:19.237 に答える