...を使用するときに正規表現に含める文字を決定するアルゴリズムに興味があり-
ます...
Example: [a-zA-Z0-9]
これは、大文字と小文字、a から z、数字 0 から 9 の任意の文字に一致します。
私は当初、それらはマクロのようなもので、たとえばa-z
変換などに使用されると思っていましたが、オープンソースプロジェクトa,b,c,d,e
で次のようなものを見た後、
text.tr('A-Za-z1-90', 'Ⓐ-Ⓩⓐ-ⓩ①-⑨⓪')
これらはあなたの典型的な文字ではない文字であるため、正規表現に関する私のパラダイムは完全に変わりました。
私の理論では、-
文字通りの意味は
左の文字と右の文字の間の任意の ASCII 値。(例 az [97-122])
私の理論が正しいかどうか誰か確認できますか? 正規表現パターンは、実際には文字コードを使用して計算されますか?
さらに、それが正しければ、次のような正規表現の一致を実行できますか?
A-z
A
is65
であり、理論的には is でz
あるため122
、これらの値の間のすべての文字にも一致する必要があります。