2018年8月22日水曜日

【備忘録】Googleフォームの段落で英単語数(ワード数)の最大最小の制限をかける方法

Googleフォームの段落では、回答の検証最大文字数と最小文字数は、回答の検証の「長さ」で簡単に設定できます。では、単語数はどうでしょうか。いろいろな方法はあると思いますが、Google Docs Help Forum で回答された方法が簡単そうなので備忘録を込めて書き出しておきます。

正規表現をつかう


正規表現には英単語が何回出てくるかで判定する方法をとっています。よくやるのは空白が何個あるかで判定する方法ですね。ただその場合には改行について考慮しなければなりません。


例1)5単語以上、10単語以下に制限したい場合


  • ^\W*(\w+(\W+|$)){5,10}$


\w = 英単語を構成する文字(a-z, A-Z, _ ,1-9)
\W = \wの否定


先頭から、0個以上の非単語文字
(1つ以上の単語文字(1つ以上の非単語文字か末尾))を5回以上、10回以下繰り返す
終端

そのため、I'm はもとより HogeHoge's, 1-2 なども2単語と判定します。


例2)5単語以上、10単語以下に制限したい場合( ' と -  はカウントしない )


' や - を含んでも 1単語とするためには、 

  • ^\W*([\w'-]+(\W+|$)){5,10}$
先頭から、0個以上の非単語文字
(1つ以上の[単語文字 or ' or -](1つ以上の非単語文字か末尾))を5回以上、10回以下繰り返す
終端

この赤い部分のように単語文字に ' と - を追加しておけばよい。

他にもよい方法はあるかもしれませんが、とりあえず上記で事足りそうなのでメモとして残しておきます。あるいはそのうち誰かのツッコミが入るでしょう (^^;

2018年8月22日 @kimipooh

0 件のコメント:

コメントを投稿