Zakładając Unicode i niewrażliwość na wielkość liter, czy wzór „..” pasuje do „FfIsS”?

To brzmi jak żart, ale mogę to udowodnić.

Założenia:

Dot pasuje do każdego pojedynczego znaku.Wzorzec bez rozróżniania wielkości liter pasujes jeśli i tylko jeśli pasujes.toUpperCase().

Wszystkie poniższe są dość logiczne i dotyczą języka Java:

"ffi".matches(".") LATIN SMALL LIGATURE FFI (U + FB03) to postać, więc musi się zgadzać"ß".matches(".") LATIN SMALL LETTER SHARP S (U + 00DF) to postać, więc musi się zgadzać"ffi".toUpperCase().equals("FFI") według standardu Unicode (nie ma ligatury kapitału FFI)"ß".toUpperCase().equals("SS") według standardu Unicode (jest duży, ostry S, ale nie jest używany)"FfI".toUpperCase().equals("FFI") oczywiście"sS".toUpperCase.equals("SS") oczywiście

Zakładając więc, że pierwsza kropka w wyrażeniu regularnym oznacza a drugi dlaß, wyrażenie regularne musi pasować do „FFISS”, a ze względu na niewrażliwość na wielkość liter także „FfIsS”.

I naprawdę miej nadzieję, że coś jest nie tak, w przeciwnym razie wyrażenia regularne stałyby się całkiem bezużyteczne.

Pytania:

Co jest nie tak z moim „dowodem”?Co dokładnie oznacza „niewrażliwy na wielkość liter”, jeśli moje drugie założenie nie jest spełnione?

questionAnswers(2)

yourAnswerToTheQuestion