注意: このプラグインは、現在 (2020年2月) Moodleブランチ2.3から3.1のみで利用可能と記載されていますが、プラグイン統計タブでは、このプラグインがインストールされている30以上のサイトのうち、半分が3.2から3.8のMoodleブランチであることがわかります。公式にサポートされていないブランチでも、正規表現プラグインは動作しますが、'オーサリングツール' は利用できません。プラグイン開発者は、このプラグインをアップデートして、この問題を引き起こすJavaScriptの問題を修正するために作業しています。DEVELOPER レベルのデバッグを有効にした場合、サーバに危険を及ぼさない警告が表示されることがあります。これらは将来のリリースで修正されるはずです。

Pregは、正規表現 (regexes)を使用して、学生の回答をチェックする問題タイプです(ただし、ヒント機能のために、正規表現なしで使用することもできます)。正規表現は、問題を作成するときの教師と答えを書くときの学生の両方に、膨大な機能と柔軟性を与えます。最初のセクションでは、このドキュメントの使い方を説明していますが、慎重に使用してください。正規表現の構文についての詳細は http://www.nusphere.com/kb/phpmanual/reference.pcre.pattern.syntax.htm にあります。多くの優れた正規表現のマニュアルがありますが、ここでは繰り返しません。

Preg問題とこのドキュメントの利用方法

正規表現については何も知らない (知りたくない) けど、次の単語 (文字) をヒントにするのは便利そうだな

Preg問題タイプを記述と同じように使うことができますが、正規表現についての知識がなくても、高度なヒントを得ることができます。そのためには、選択する必要があります。

  • Notation => Moodle shortanswer
  • Engine => Finite state automata
  • Exact matching => Yes

その後は、あなたの記述問題から答えをコピーすればいいのです。hintingの設定については、hintingのセクションを読んで理解しておくとよいでしょう。いくつかの図解された、ステップバイステップの、K-12および大学レベルの使用例については、Preg問題タイプの例を参照してください。

正規表現の知識は漠然としているが、パターンマッチングを利用してみたい

正規表現を書くのは大変だけど、その強みをパターンとして利用したい場合、オーサリングツールが問題の作成に大いに役立つでしょう。ツールは正規表現の意味を様々な方法で示してくれます: 表現の内部構造(シンタックスツリー)、マッチングの視覚的なパス(説明グラフ)、そしてテキストの説明です。また、複数の文字列に対して正規表現をテストし、期待通りに動作するかどうかを確認することもできます。あなたの正規表現を実験し、遊び、オーサリングツールの対応する変更を見て、最終的にはあなたが望む正規表現を手に入れてください。

まずオーサリングツールのセクションを読み、その後(おそらく自分でツールを試した後)正規表現を理解するのセクションを読みます。(これは任意ですが、面白いし、大いに役立つでしょう) また、問題の仕組みのセクションも読んで、様々な設定とそれが問題にどのように影響するかを理解しておくと良いでしょう。

正規表現をしっかり学んで、正規表現が許すことなら何でもできるようになるための努力をしたい

さて、あなたは正規表現を知らないけれど、それを理解して複雑な表現を簡単に作りたいと思っています。闇雲に努力するのではなく、このセクションを読んで理解することに時間と労力を費やした方が良いでしょう。そして、オーサリングツールについて少し読み、それらを使って正規表現の作成を試してみましょう。これらのツールを使えば、本当によく理解できているか、期待通りの動作をするかを確認することができます。構文ツリーは、優先順位アリティ の意味を正しく理解しようとするときに特に役立つでしょう。正規表現の原理をよく理解したら、問題の仕組み正規表現のリファレンスのセクションを読んでください (可能性を知るためです。わざわざすべてを理解したり覚えたりする必要はありません。定期的に新しいことを学ぶためにそこを見ればいいのです)。これで、オーサリングツールをあまり使わずに正規表現を書けるようになったはずですが、式をテストするためのテストツールは別です。

私は正規表現をよく知っているので、詳しい説明がなくても自分で書けます

様々な設定とその下での問題の動作を理解するために、問題の仕組みを読むべきです。また、オーサリングツールのセクションの正規表現テストにも興味があるかもしれません。最後に、正規表現リファレンスも参考になるかもしれません。

==対応するMoodleブランチと翻訳==。 このプラグインは、現在 (2018年4月) Moodleブランチ2.3から3.1のみで利用可能と記載されていますが、stats page によると、このプラグインがインストールされている50以上のサイトのうち、半分は3.2から3.4のMoodleブランチです。公式にサポートされていないブランチでは、正規表現プラグインは動作しますが、オーサリングツールは利用できません。プラグイン開発者は、このプラグインをアップデートし、この問題の原因となっているJavaScriptの問題を修正するために作業を行っています。DEVELOPERレベルのデバッグを有効にした場合、サーバに危険を及ぼさない警告が表示されることがあります。これらは将来のリリースで修正される予定です。

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP

すべてのMoodleプラグインと同様に、pregプラグインは、最初は英語で利用できます。現在、ロシア語およびメキシコのスペイン語の翻訳が利用可能ですが、AMOSで他の翻訳を行うことができます。