'א、א''א、ב'などの小さな目印がいくつかあります。カンマを中心点として使用する場合、カンマの前に最大2文字、カンマの後の次のスペースまでが必要です。
私は持っています(.-,.-)%s
が、必要なことをしていません。何か案が?
また、ご覧のとおり、ラテン文字がないため、使用%l
できません。
'א、א''א、ב'などの小さな目印がいくつかあります。カンマを中心点として使用する場合、カンマの前に最大2文字、カンマの後の次のスペースまでが必要です。
私は持っています(.-,.-)%s
が、必要なことをしていません。何か案が?
また、ご覧のとおり、ラテン文字がないため、使用%l
できません。
ここにはいくつかの問題があります。まず、マイナーな問題:.-,
コマの前にできるだけ一致しない、つまりゼロ文字です。一致した文字列の先頭を固定する必要があります。
より複雑な問題は、ヘブライ文字を使用することです。問題は、Luaにマルチバイト文字の概念がないことです。
Windows-1255やISO-8859-8などの8ビットエンコーディングを使用している場合は、おそらく文字クラスと単純に照合できます[ת-א]
。ヘブライ語のロケールを適切に設定している場合は、正常に機能する%l
はずです。
UTF-8またはマルチバイト文字を使用するその他のエンコーディングを使用する場合は、すべてのヘブライ語のアルファベットをオクテットのシーケンスとしてエスケープした正規表現を作成する必要があります。アレフはU+05D0xであり、UTF-8では。として表され0xD7 0x90
ます。tavはU+05EAで、としてエンコードされ0xD7 0xAA
ます。
Luaでは、バックスラッシュと10進コードを使用して8ビット文字をエスケープできます。UTF-8でエンコードされたすべてのヘブライ文字は、最初のバイトが同じです- 0xD7
、つまり"\215"
。"\144"
2番目の文字はからまでの任意の文字にすることができます"\170"
。したがって、単一のヘブライ文字に一致する正規表現は次のとおり"\215[\144-\170]"
です。これを元の正規表現に入れます。ここでは、任意の文字に一致する単一のドットがあります。
もちろん、UTF-8とは異なるエンコーディングでは、上記の推論を変更する必要があります。ヘブライ語での右から左への書き方は、覚えておくべきもう1つのことです。