कॉलिंग तत्वों को आमतौर पर छँटाई के संदर्भ में संदर्भित किया जाता है।
कई भाषाओं में, टकराव (एक शब्दकोश में छंटनी) केवल प्रति-चरित्र नहीं किया जाता है। उदाहरण के लिए, चेक में, यह अंग्रेजी में नहीं होगा और इसके ch
बीच की तरह नहीं है , लेकिन इसे सॉर्टिंग के लिए संपूर्ण माना जाता है। यह (हम यहाँ एक चरित्र का उल्लेख नहीं कर सकते, चरित्र का मिलान तत्वों का एक सबसेट है) कि बीच में एक तरह एक collating तत्व है और ।cg
ci
h
i
अब आप पूछ सकते हैं कि नियमित भावों के साथ क्या करना है? , मैं एक कोष्ठक अभिव्यक्ति में एक कोलाजिंग तत्व का उल्लेख क्यों करना चाहूंगा? ।
खैर, ब्रैकेट के भावों के अंदर, व्यक्ति ऑर्डर का उपयोग करता है। उदाहरण के लिए [c-j]
, आप वर्णों को बीच c
- बीच में चाहते हैं j
। आप अच्छी तरह से करते हैं? आप बल्कि वहाँ के तत्वों को जोड़ना चाहते हैं। [h-i]
चेक लोकेल मैचों में ch
:
$ echo cho | LC_ALL=cs_CZ.UTF-8 grep '^[h-i]o'
cho
इसलिए, यदि आप कोष्ठक अभिव्यक्ति में विभिन्न श्रेणी के तत्वों को सूचीबद्ध करने में सक्षम हैं, तो आप उन्हें व्यक्तिगत रूप से भी सूचीबद्ध करने में सक्षम होंगे। [a-cch]
के बीच में है कि क्रमवार तत्वों का मिलान होगा a
और c
और c
और h
अक्षर। करवाने के लिए a-c
और ch
क्रमवार तत्व, हम एक नई वाक्य रचना की जरूरत है:
$ echo cho | LC_ALL=cs_CZ.UTF-8 grep '^[a-c[.ch.]]o'
cho
(बीच में लोगों को a
और c
और ch
एक)।
अब, दुनिया अभी तक परिपूर्ण नहीं है और शायद कभी नहीं होगी। ऊपर का उदाहरण एक GNU सिस्टम पर था और काम किया। एक कोलाजिंग तत्व का एक अन्य उदाहरण e
UTF-8 में तीव्र उच्चारण के संयोजन के साथ हो सकता है ( $'e\u0301'
जैसे प्रस्तुत $'\u00e9'
किया गया é
)।
é और é समान वर्ण होते हैं सिवाय इसके कि एक को एक वर्ण से और दूसरे को दो से दर्शाया जाता है।
$ echo $'e\u301t\ue9' | grep '^[d-f]t'
कुछ सिस्टम पर ठीक से काम करेंगे लेकिन दूसरों को नहीं (उदाहरण के लिए जीएनयू वाले नहीं)। और यह है कि क्या स्पष्ट नहीं है कि $'[[.\ue9.]]'
केवल मेल खाना चाहिए $'\ue9'
या दोनों $'\ue9'
और $'e\u301'
।
गैर-वर्णनात्मक लिपियों, या अलग-अलग, क्षेत्रीय, सॉर्टिंग ऑर्डर, ffi ( ffi
एक चरित्र में) जैसी चीजों के साथ लिपियों का उल्लेख नहीं करना चाहिए जो इस तरह के एक साधारण एपीआई के साथ संभालने के लिए मुश्किल हो जाते हैं।
ch
है वास्तव में दो अलग-अलग पात्रों; यह सिर्फ छंटाई के प्रयोजनों के लिए एक के रूप में माना जाता है। क्या आप सुनिश्चित हैं कि "डिग्राफ" एक लागू अवधि है?