يستخدم Double Commander مكتبةTRegExprالمجانية التي كتب ها أندري سوروكين.
معظم التفسيرات تأتي من ملفات المساعدة في المكتبة.
التعبير العادي هو طريقة تستخدم على نطاق واسع ل تحديد وضع البحث النصي.تسمح ل نا الأحرف الخاصة (الأحرف الوصفية)ب تحديد ، على سبيل المثال ، السلسلة النصية المحددة التي نبحث عن ها تظهر في بداية الصف أو نهايت ه، أوn الذي يحتوي على أحرف أو مجموعات حرفية.
يدعم Double Commander التعبير العادي في الميزات التالية:
تدعم مكتبة TRegExp نوعين من وضع التشغيل: ANSI و Unicode.عند البحث في ملف نصي ، يستخدم Double Commander كلي هما (اعتمادا على رمز الملف).استخدم Unicode عند البحث ب حسب الاسم.
أي حرف فردي يتطابق مع نفس ه ، إلا إذا كان حرفاً تعريفياً ل ه معنى خاص موضح أدنا ه.
سلسلة من الأحرف تتطابق مع هذه السلسلة في السلسلة المستهدفة ، و ب التالي النمطbluhس يتطابق مع سلسلة الهدفbluh。
يمكن نا إضافة خط مائل مضاد قبلحرف أوتسلسل الهروب\ل كي يتم تفسير ها حرفياً ، مثل: الأحرف الوصفية^بداية السلسلة و لكن\^مطابقة الحروف^,\\مطابقة\انتظر.
و فيما يلي بعض الأمثلة:
| مثال بسيط على التطابق | |
|---|---|
| نتيجة | التعبير |
foobar |
مطابقة سلسلة النصfoobar |
^FoBarPtr |
مطابقة^FooBarPtr |
يمكن استخدام قواعد تسلسل الهروب مماثلة ل تلك المستخدمة في C و Perl ل تحديد الأحرف:\nمطابقة السطر ،\tمطابقة العلامات ، الخ.
و ب شكل أعم ،\xnnو من هاnnسلسلة من الأرقام السداسية العشرية التي تتطابق مع قيمة ASCIInnالحرف.
إذا كنت ب حاجة إلى رمز أحرف واسعة (Unicode) ، يمكن ك استخدام ها\x{nnnn}و من هاnnnn –واحد أو أكثر من الأرقام الست عشرية.
| تسلسل الهروب | |
|---|---|
| نتيجة | التعبير |
\xnn |
رمز ASCIInnالأحرف |
\x{nnn} |
رمز ASCIInnnnالأحرف (النص العادي هو بايت واحد ، Unicode هو بايتين) |
\t |
علامة الساعات (HT/TAB) ، و\x09نفس الشيء |
\n |
السطر (NL/LF) ، مع\x0aنفس الشيء |
\r |
العودة (CR) مع\x0dنفس الشيء |
\f |
تغيير صفحة (FF) و\x0cنفس الشيء |
\a |
الإنذار (BEL) ، مع\x07نفس الشيء |
\e |
الهروب (ESC) ، مع\x1bنفس الشيء |
و فيما يلي بعض الأمثلة:
| أمثلة على تسلسل الهروب | |
|---|---|
| نتيجة | التعبير |
fo\x20bar |
مطابقةfoo bar(انظر المسافة في الوسط) |
\tfoobar |
المطابقة محددة مسبقا من قبل علامة الجدولfoobar |
يمكن ك وضع قائمة الأحرف.[]تحديد فئة الأحرف التي س تطابق أي حرف في القائمة.
إذا[الحرف الأول بعد ذلك هو^أي حرفغيرمدرج في قائمة التطابق.
في القائمة ،-يتم استخدام الأحرف ل تحديدنطاق ، ل ذلكa-zو أشار إلى أنaإلىzجميع الأحرف ب ما في ذلك.
إذا كنت ترغب في-تصبح عضواً في الطبقة نفس ك ، ضع ها في بداية أو نهاية القائمة ، أو الهروب مع شرطة عكسية.
إذا كنت ترغب في استخدام]يمكن ك وضع ها في بداية القائمة أو التهرب من ها ب استخدام شرطة عكسية.
| فئة الأحرف | |
|---|---|
| نتيجة | التعبير |
[-AZ] |
مطابقةa、zو- |
[أ ع] |
مطابقةa、zو- |
[أ/-ض] |
مطابقةa、z(أ)- |
[أ-ض] |
مطابقة منaإلى الوصولzجميع الحروف الـ 26 الصغيرة |
[\n--\x0D] |
مطابقة ل أي\x10、\x11、\x12、\x13 |
[/د-t] |
مطابقة أي رقم ،-أو.t |
[]-a] |
مطابقة من]إلى الوصولaأي حرف. |
و فيما يلي بعض الأمثلة:
| أمثلة على فئة الأحرف | |
|---|---|
| نتيجة | التعبير |
foob[aeiou]r |
البحث عن سلسلةfoobar、fooberانتظر ، و لكن لا تشملfoobbr、foobcrانتظر. |
foob [^aiou]r |
البحث عن سلسلةfoobbr、foobcrانتظر ، و لكن لا تشملfoobar、fooberانتظر. |
الأحرف الوصفية هي جوهر التعبير العادي ، هو حرف خاص.
هناك أنواع مختلفة من الأحرف الوصفية ك ما هو موضح أدنا ه.
بعض التعابير تساعد على اكتشاف فصل الصف.
| الفاصل بين الصفوف | |
|---|---|
| نتيجة | التعبير |
^ |
الفصل الأول |
$ |
النهاية |
\A |
بداية النص |
\Z |
نهاية النص |
. |
أي حرف في الصف |
و فيما يلي بعض الأمثلة:
| مثال على الفاصل بين الصفوف | |
|---|---|
| نتيجة | التعبير |
^Foobar |
فقط في سلسلةfoobarمطابقة في البداية. |
foobar$ |
فقط في سلسلةfoobarمتطابقة مع النهاية |
^foobar$ |
فقط في السلسلةfoobarالسلسلة الوحيدة في السطر |
foob.r |
مطابقة مثلfoobar、foobbr、foob1rفي انتظار السلسلة |
و ب صفة افتراضية ،^تضمن الأحرف الوصفية تطابق ها فقط في بداية سلسلة الإدخال/النص ،$يتم تطابق الأحرف في النهاية فقط.الفصل بين الصفوف المضمنة لن يكون^أو.$المطابقة.
و مع ذلك ، قد ترغب في اعتبار السلسلة ك مخزن عازل متعدد الأسطر ، و هكذا^(و إِن هُمْ يَتَوْمَعُونَ) أي: أي: أي: يُتَوَقَّعُونَ.$س يتم تطابق ها قبل أي صف فاصل.يمكن ك القيام ب ذلك عن طريق فتحالمعدل m.
\A(أ)\Zمثل^(أ)$نفس الشيء ، و لكن عند استخدامالمعدل m ، ف إن ها لا تتطابق عدة مرات ، و^(أ)$س يتم مطابقت ها في كل صف داخلي.
و ب صفة افتراضية ،.تطابق الأحرف الوصفية أي حرف ، و لكن إذا تم إيقاف تشغيلالمعدل s ،.لا تتطابق مع الفاصلات الصفية المضمنة.
يقوم TRegExpr ب معالجة الفاصل الصفوفوفقا ل معيار Unicode التقني (المعيار الفني رقم 18):
^في بداية سلسلة الإدخال ، و إذاتم فتح المعدل m ، ف هناك أيضاً\x0D\x0Aأو.\x0Aأو\x0Dبعد أي ظهور (دعم Unicode:\x2028أو\x2029أو\x0Bأو\x0Cأو.\x85)。يرجى ملاحظة أن ه في\x0D\x0Aلا يوجد فارغ في التسلسل.
$في نهاية سلسلة الإدخال ، و إذاتم فتح المعدل m ، ف هناك أيضاً\x0D\x0Aأو.\x0Aأو.\x0Dقبل أي ظهور (دعم Unicode:\x2028أو\x2029أو.\x0Bأو.\x0Cأو\x85)。يرجى ملاحظة أن ه في\x0D\x0Aلا يوجد فارغ في التسلسل.
.مطابقة أي حرف ، و لكن إذا تم إيقاف تشغيلالمعدل s ،.غير مطابقة\x0D\x0A(أ)\x0Aو\x0D(دعم Unicode:\x2028(أ)\x2029(أ)\x0B(أ)\x0C(أ)\x85)。
يرجى ملاحظة ،^.*$(وضع الخيار) لا يوجد\x0D\x0Aسلسلة فارغة في السلسلة ، و لكن في\x0A\x0Dتتطابق سلسلة فارغة في التسلسل.
تساعد بعض التعابير على اكتشاف مجموعات الأحرف.
| الفئة المحددة سلفا | |
|---|---|
| نتيجة | التعبير |
\w |
الأحرف الأبجدية الرقمية (ب ما في ذلك)_(أي).[0-9A-Za-z_] |
\W |
أحرف غير أبجدية رقمية |
\d |
الأحرف الرقمية |
\D |
الأحرف غير الرقمية |
\s |
أي حرف مسافة (مع[ \t\n\r\f]نفس الشيء) |
\S |
أحرف غير مسافة |
يمكن ك استخدام ها فيفئات الأحرفالمخصصة\w、\dو\s。
و فيما يلي بعض الأمثلة:
| أمثلة على فئة التعريف المسبق | |
|---|---|
| نتيجة | التعبير |
foob\dr |
مطابقة مثلfoob1r、foob6rالسلسلة و لكن لا تشملfoobar、foobbrالانتظار |
foob [\w\s]r |
مطابقة مثلfoobar、foob r、foobbrالسلسلة و لكن لا تشملfoob=rالانتظار |
الحدود (\bعلى جانب ها.\wعلى الجانب الآخر هناك\Wالموضع بين الحرفين (في أي ترتيب) ، يتم احتساب الأحرف الافتراضية في بداية السلسلة و نهايت ها ك مطابقة\W。
| كلمة حدود | |
|---|---|
| نتيجة | التعبير |
\b |
كلمات مطابقة حدود |
\B |
مطابقة الحدود غير الكلمات |
يمكن ل أي عنصر من التعبير العادي أن يتبع نوع آخر من مكرر الأحرف الوصفية.
ب استخدام هذه الأحرف الوصفية ، يمكن ك تحديد عدد المرات التي ظهر في ها الحرف السابق أو الحرف الوصفي أو التعبير الفرعي.
| مكرر | |
|---|---|
| نتيجة | التعبير |
* |
صفر أو أكثر ("الجشع ") ، مماثل{0,} |
+ |
مرة واحدة أو أكثر ("الجشع ") ، مماثل{1,} |
? |
صفر أو مرة واحدة ("الجشع ") ، مماثل{0,1} |
{ن} |
الصادقةnالتالي ("الجشع ") |
{ن ،} |
على الأقلnالتالي ("الجشع ") |
{ن ، م} |
الأقلnالتالي و لكن ليس أكثرmالتالي ("الجشع ") |
*? |
صفر أو أكثر ("غير جشع ") ، مماثل{0,}? |
+? |
مرة واحدة أو أكثر ("غير جشع ") ، مماثل{1,}? |
?? |
صفر أو مرة واحدة ("غير الجشع ") ، مماثل{0,1}? |
{n}؟ |
الصادقةnثانيًا ("غير جشع ") |
{n,}? |
الأقلnثانيًا ("غير جشع ") |
{ن ، م}؟ |
على الأقلnالتالي و لكن ليس أكثرmثانيًا ("غير جشع ") |
و ب التالي ف إن الشكل هو{n,m}الأرقام الواردة بين قوسين تحديدالحد الأدنىل عددالبنود المطابقةnوأقصى عددm。
الشكل{n}مماثل{n,n}يطابق تماماnالتالية.
الشكل{n,}مطابقةnثانية أو أكثر.
nأوmلا يوجد حد ل لحجم ، و لكن الأرقام الكبيرة تبطئ التنفيذ و تستهلك المزيد من الذاكرة.
إذا ظهرت الأقواس في أي سياق آخر ، ف إن ها تعتبر حرفًا عاديًا.
و فيما يلي بعض الأمثلة:
| أمثلة على المكرر | |
|---|---|
| نتيجة | التعبير |
foob.*ص- |
مطابقة مثلfoobar、foobalkjdflkj9r(أ)foobrفي انتظار السلسلة |
foob.+ص- |
مطابقة مثلfoobar、foobalkjdflkj9rالسلسلة و لكن لا تشملfoobr |
foob.?ص- |
مطابقة مثلfoobar、foobbr(أ)foobrالسلسلة و لكن لا تشملfoobalkj9r |
fooba{2}(ص) |
مطابقة سلسلة النصfoobaar |
fooba{2,}(ص) |
مطابقة مثلfoobaar、foobaaar、foobaaaarفي انتظار السلسلة |
fooba{2,3}(ص) |
مطابقة مثلfoobaarأوfoobaaarالسلسلة و لكن لا تشملfoobaaaar |
تفسير قليل عن "الجشع".
"الجشع" يأخذ قدر الإمكان ، و "غير الجشع" يأخذ أقل قدر ممكن.
على سبيل المثال ،b+(أ)b*تطبيق على السلاسلabbbbcالعودةbbbb,b+?العودةb,b*?ارجع إلى سلسلة فارغة ،b{2,3}?العودةbb,b{2,3}العودةbbb。
يمكن ك تغيير جميع التكرارات إلى وضع "غير جشع"(انظر المعدل g).
يمكن ك استخدام ها|و تحديد النماذج عن طريق تقسيم مجموعةمن البدائل، و ب التاليfee|fie|foeس يتطابق مع سلسلة الهدفfee、fieأو.foe(f(e|i|o)eو هذا هو الحال أيضا).
البديل الأول يشمل الفاصل النمطي السابق ((、[أو نمط بداية) إلى الأول|جميع المحتويات ، و البديل الأخير يحتوي على البديل من آخر|كل شيء إلى فصل النمط التالي.
و ل ذلك ، ف من الممارسة الشائعة وضع البدائل بين معقوفتين بغية التقليل إلى أدنى حد من الالتباس ب شأن موضع البداية و النهاية.
جرب البدائل من اليسار إلى اليمين ، ل ذلك س يتم اختيار البديل الأول الذي تم العثور علي ه ل مطابقة التعبير ب أكمل ه.
و هذا يعني أن البدائل ليست ب الضرورة جشعة.
على سبيل المثال: عند استخدام هاfoo|footمطابقةbarefootعند ما فقطfooس يتم مطابقة جزئياً ل أن هذا هو البديل الأول الذي جرى محاولت ه ، و أن ه يتطابق ب نجاح مع السلسلة المستهدفة. (قد لا يكون هذا مهمًا عند ما نستخدم الأقواس ل التقاط النص المطابق.)
و تذكر أيضا ،|يتم تفسير ها حرفيا بين أقواس معقوفة ، ل ذلك إذا كنت تكتب[fee|fie|foe]في الواقع ، لا تتطابق إلا[feio|]。
مثال:
| أمثلة على البدائل | |
|---|---|
| نتيجة | التعبير |
foo(bar)| foo) |
مطابقة سلسلة النصfoobarأوfoofoo |
هيكل الأقواس( ... )و يمكن أيضا استخدام ها ل تعريف التعبير الفرعي العادي.
بعد البحث ، يمكن ك استدعاء أي تعبير فرعي ، و يمكن ك أيضًا استخدام التعابير الفرعية ك قناع.
يتم ترقيم التعابير الفرعية وفقًا ل ترتيب الأقواس اليسرى من اليسار إلى اليمين.
يتم ترقيم التعبير الفرعي الأول 1 و يدعم ما يصل إلى 90 تعبيرا فرعيا (التعبير العادي ب أكمل ه رقم مطابقة 0 يمكن ك استبدال ه إلى$0أو.$&)。
و فيما يلي بعض الأمثلة:
| تعبير فرعي | |
|---|---|
| نتيجة | التعبير |
(foobar){8,10} |
المطابقة تحتوي على 8 أو 9 أو 10foobarسلسلة من الأمثلة |
foob ([0-9]|(أ+)(ص) |
مطابقةfoob0r、foob1r、foobar、foobaar、foobaarالانتظار |
ملاحظات ب شأن "الاستعاضة عن ":
$أو.\يرجى استخدام البادئة\。1\$ is $2\\rub\\سوف يعود1$ is <subexpr2>\rub\。$nبعد وضع الرقم الأصلي ، يجب وضع الأقواس.{}(أ) أنnقفز. a$12bcسوف يعودa<subexpr12>bcو لكنa${1}2bcسوف يعودa<subexpr1>2bc。مثال:
دعو نا نحدد التاريخ21.01.2018عكس إلى2018.01.21:
البحث:(\d{2})\.(\d{2})\.(\d{4})
يستعاض عن ها ب ما يلي:$3.$2.$1
الحروف الفوقية\1إلى الوصول\9تم تفسير ها على أن ها مرجع عكسي.\nمطابقة التعبير الفرعي المطابق سابقاًn。
و فيما يلي بعض الأمثلة:
| أمثلة على الإشارة المعاكسة | |
|---|---|
| نتيجة | التعبير |
(.)\ 1+ |
مطابقةaaaa(أ)cc |
(.+)\ 1+ |
كما يتطابقabab(أ)123123 |
(['"]?) (\d +)\1 |
مطابقة"13"(في اقتباس مزدوج) ،'4'(في علامات اقتباس واحدة) أو77(ب دون علامات) |
و يؤكد على المستقبل:foo(?=bar)فقط فيbarالسابق مطابقةfooوbarلا يتم تضمين ها في المطابقة.
تأكيد سلبي على المستقبل:foo(?!bar)لا تتبع فقط في الخلفbarوقت مطابقةfoo。
و يؤكدون إلى الخلف:(?<=foo)barفقط فيfooبعد مطابقةbarوfooلا يتم تضمين ها في المطابقة.
و قَالَ:(?<!foo)barلا يوجد فقط أمامfooالبداية متطابقةbar。
القيود:
يجب أن تكون الأقواس المستقبلية في نهاية التعبير ، و يجب أن تكون الأقواس المتطلعة إلى الخلف في بداية التعبير.ل ذلك لا يدعم الاختيار|الادعاءات بين أو داخل المجموعات.
فيما يتعلق ب الخلف(?<!foo)barالتعبير العاديfooيجب أن يكون طول ثابت ، أي الإجراءات التي تحتوي فقط على مطابقة طول ثابت.لا يسمح ب استخدام الكميات الصغيرة إلا إذا كان هناك أرقام مكررة{n}أو{n,n}الأقواس.يسمح هنا ب استخدام فئات الأحرف ، يسمح ب استخدام نقاط الاستخدام ، يسمح ب استخدام ها\bو\B。غير مسموح ب استخدام المجموعات و الاختيار.
ب النسبة ل لأنواع الثلاثة الأخرى من التأكيدات ، يمكن أن تكون التعابير الواردة بين قوسين تعسفية التعقيد.
اللغة:(?:expr)。
و لا يوجد "فهرس" ل هذه المجموعات و لا يمكن رؤية المراجع العكسية.عند ما نريد تجميع التعابير الثنائية و لكن نا لا نريد حفظ ها ك جزء مطابقة/التقاط من السلسلة ، نستخدم مجموعة غير التقاط.استخدام مجموعة غير التقاط يمكن تسريع عمل التعبيرات العادية.
| مجموعات الصيد غير المصيدة | |
|---|---|
| نتيجة | التعبير |
(https?| ftp):/([^/\r\n]+) |
ف يhttps://doublecmd.sourceforge.ioمطابقةhttpsوdoublecmd.sourceforge.io |
(?: https?| ftp):/([^/\r\n]+) |
ف يhttps://doublecmd.sourceforge.ioمتطابقة فقطdoublecmd.sourceforge.io |
اللغة:(?>expr|expr|...)。
المجموعات الذرية هي حالة خاصة ل مجموعات غير التقاط: إذا تم العثور على جزء من النمط ، ف إن هذه المجموعة تعطل التراجع بين الأقواس.تعمل المجموعات الذرية ب شكل أسرع ، و هي مفيدة ل تحسين المجموعات التي تحتوي على العديد من التعابير المختلفة.
على سبيل المثال ،a(bc|b)cمطابقةabcc(أ)abc,a(?>bc|b)cمطابقةabccو لكن لا يتطابقabcل أن المحرك ممنوع من العودة إلى الوراء و محاولة تعيين المجموعة إلىb。
يقوم معايير Unicode ب تسمية فئات الأحرف.هذه هي سلسلة من الحروف.مثلاLuحروف كبيرة ،Llالحروف الصغيرة.فئة كبيرة من الحروف 1Lكل الحروف.
| فئة Unicode | |
|---|---|
| وصف | الفئة |
| الحروف | L |
Lu | حروف كبيرة |
LL | الحروف الصغيرة |
Lt | العنوان الحرفي |
| رمز | Lm |
Lo | حروف أخرى |
| علامة | M |
Mn | علامة غير المسافة |
Mc | علامة التباعد |
أنا | مغلق علامة |
N | الأرقام |
Nd | الأرقام العشرية |
Nl | الأبجدية |
لا | أرقام أخرى |
| علامات | P |
| علامة موصل | Pc |
| علامة | Pd |
| نقاط فتح | العطاءات |
Pe | إغلاق علامة |
| علامة | Pi | الأصلية
| علامة في نهاية | Pf |
Po | علامات أخرى |
S | رمز |
| رموز الرياضيات | SM |
Sc | رمز العملة |
| رمز التعديل | Sk |
سو | الرموز الأخرى |
| الفصل | Z |
| الفاصل المسافة | Zs |
| الفصل بين الصف | Zl |
| الفصل بين الفقرات | Zp |
جيم | -مصادر أخرى |
| سيطرة | C |
| صيغة | Cf |
C | وكيل |
Co | الاستخدام الخاص |
م م | غير موزع |
الحرف الفوقي\pيشير إلى حرف Unicode من الفئة المحددة.اللغة:\pL(أ)\p{L}اسم حرف واحد ،\p{Lu}يستخدم اسم حرفين.
الحروف الفوقية\Pهو عكسي ، و هو يشير إلى حرف Unicode غير موجود في الفئة المحددة.
هذه الأحرف الوصفية مدعومة أيضًا في فئات الأحرف.
لغة التعديلات الفردية:(?i)فتحت ،(?-i)و أشار إلى إغلاق.يسمح ب تعديلات متعددة مثل:(?msgxr-imsgxr)。
يتم استخدام المعدل ل تغيير سلوك التعبير العادي.التعديلات تؤثر فقط(?imsgxr-imsgxr)قسم التعبير العادي بعد عامل التشغيل.
يمكن تضمين أي من هذه المعدلات في التعبير العادي نفس ه.إذا تم تضمين المعدل في تعبير فرعي ، ف إن ه يؤثر فقط على هذا التعبير الفرعي.
^(أ)$تغيير من بداية أو نهاية سلسلة نصية مطابقة فقط إلى بداية أو نهاية أي صف في السلسلة المطابقة ، راجعأيضًا الفاصل بين الصفوف.الإغلاق الافتراضي. .التغيير ل مطابقة أي حرف ، حتى فاصل الصف (انظرأيضًا فاصل الصف) ، و هو لا يتطابق عادةً.فتح افتراضي. gإغلاق ، إذا+طريقة العمل هي+?,*طريقة العمل هي*?انتظر. а-яب الإضافة إلى الحروف الروسيةё,А-ЯإضافةЁ,а-Яتشمل جميع الحروف الروسية.فتح افتراضي. textتم تجاهل ها.يرجى ملاحظة أن TregExpr شاهد)عند إغلاق التعليقات ، ل ذلك لا يمكن وضع ها حرفيا في التعليقات)。و فيما يلي بعض الأمثلة:
| Perl Extended مثال | |
|---|---|
| نتيجة | التعبير |
(? i) Saint-Petersburg |
مطابقةSaint-petersburgوSaint-Petersburg |
(? i)Saint-(?-- i)Petersburg |
مطابقةSaint-Petersburgو لكن لا يتطابقSaint-petersburg |
(? i)(Saint-)? Petersburg |
مطابقةSaint-petersburgوsaint-petersburg |
((? i)Saint-)? Petersburg |
مطابقةsaint-Petersburgو لكن لا يتطابقsaint-petersburg |
المعدلاتxفي حد ذات ه ، يحتاج الأمر إلى مزيد من التفسير.
إن ه يخبر تجاهل المسافات التي لا تحمل خط مائل عكسي و لا في فئة الأحرف.
يمكن ك استخدام ه ل تقسيم التعبير العادي إلى أجزاء (قليلا) أكثر قابلية ل ل قراءة.
#تعتبر الأحرف أيضًا أحرفًا تعريفية ل إدخال التعليقات ، مثل:
(
(abc) # 注释1
| # 您可以使用空格来格式化正则表达式 - TRegExpr会忽略它
(efg) # 注释2
)
و هذا يعني أيضًا إذا كنت ترغب في استخدام مسافة حقيقية في الوضع أو#الأحرف (خارج فئة الأحرف ، لا تتأثرxالتأثير) يجب أن تهرب من ها أو استخدام ثماني أو سداسي عشرية ل ل ترميز.
ب شكل عام ، تحسن هذه الميزات ب شكل كبير من قراءة نص التعبير العادي.