Widziałem wiele przykładów tworzenia całych nieregularnych wielkości liter w wyrażeniu regularnym. Zastanawiam się nad tym, aby tylko część wyrażenia była niewrażliwa na wielkość liter.Czy można zrobić tylko część regex case-niewrażliwe?
Na przykład, powiedzmy, że mam ciąg jak poniżej:
fooFOOfOoFoOBARBARbarbarbAr
Co jeśli chcę, aby dopasować wszystkie wystąpienia „foo”, niezależnie od przypadku, ale chcę tylko, aby dopasować dużych liter „BAR "s?
Idealnym rozwiązaniem byłoby coś, co działa na smakach regex ale jestem zainteresowany te specyficzne dla danego języka słuchowych jak również (Dzięki Espo)
edycję
Link Espo warunkiem było bardzo pomocne. Jest tam dobry przykład włączania i wyłączania modyfikatorów włączania w wyrażeniu.
Dla mojego contrived przykład, mogę zrobić coś takiego:
(?i)foo*(?-i)|BAR
co sprawia, że bez uwzględniania wielkości liter tylko dla części foo meczu meczu.
To wydawało się działać w większości implementacji wyrażeń regularnych z wyjątkiem Javascript, Python i kilku innych (jak wspomniano w Espo).
Wielkie, o które się zastanawiałem (Perl, PHP, .NET), wszystkie obsługują zmiany w trybie liniowym.
Kwestia ta została dodana do przepełnienie stosu [FAQ] wyrażenie regularne (http://stackoverflow.com/a/22944075/2736496) w "Modyfikatory". – aliteralmind