簡単検索インウェイテキストに関しては、例えば次のようになります。
the quick red fox jumped 1 foot over the lazy 28 pound dog
次の検索を利用してください
/[[:digit:]]
のように振る舞う
/[[:alnum:]]
つまり、繰り返すとすべての文字が検索されます。その問題について私が試したすべての角かっこ式はalnumとして機能します。しかし、
/[0-9]
期待どおりに機能し、1、2、8のみが見つかります。しばらくnviを使用してきましたが、知識には大きなギャップがあります。助けてくれてありがとう。
答え1
これは間違いです。 5文字の長さのクラス名(つまり、.を除くすべてのクラス名)は、小文字が欠落しているxdigit
と解釈されます。alnum
パッチは簡単です:
--- regex/regcomp.c~
+++ regex/regcomp.c
@@ -819,7 +819,7 @@
NEXT();
len = p->next - sp;
for (cp = cclasses; cp->name != NULL; cp++)
- if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len))
+ if (STRLEN(cp->name) == len && !MEMCMP(cp->name, sp, len))
break;
if (cp->name == NULL) {
/* oops, didn't find it */
私はバグを報告しておらず、どこにも報告されたものが見つかりませんでした。そうしてここに戻ってください。