私はC#に基づいて独自のスクリプト言語を作成したいので、私はtokenizeを使い始めようとしています。regex styleguide with plaintext
今のところ、私はちょっと丸ごと再生しており、正規表現を少し深く学んでいます。だから、私は正規表現にはかなり新しいです。
例えば、私は
foreach(str x:test.GetItems())
と一致し、groupvalues str
、x
を取得したい、test.GetItems()
私の正規表現は次のとおりです。
foreach\s*\((\s*([A-Za-z0-9]+)\s+([A-Za-z0-9]+))\s*\:\s*(.+)\)
と、これは今のところ動作します。
ので、私の質問は以下のとおりです。
- は、例えば、ハードコードされた文字列のようなものを持ってすることをお勧めします
foreach
私の正規表現で?そうでない場合、私は何をしたいですか? - 私の構文で
:
の場合、私は正規表現:
または\:
で書くことができます。それにもかかわらず、それはMatches a ":" character (char code 58).
と書いています私はキャラクターをエスケープすべきでしょうか、そうでなければなりませんか?