أجهزة الكمبيوتربرمجة

التعبير العادي (PHP). PHP: التعابير العادية الأمثلة

كيف كبيرة وعالم متنوع من المعلومات، فقط في أسرع وقت، فإنه يتوسع ويتطور. أي قرار - سوى نقطة في مجمل عملية الحركة. المعرفة والخبرة جعل من الممكن لفهم عملية لتحقيق هذا الهدف، ولكن أبدا - وليس نتيجة لإنجازاتها. ومن المشكوك فيه أن نتمكن من التحدث في المستقبل المنظور على النتيجة، ولكن من المهم أن عملية السعي لذلك هي عملية هامة وضرورية بشكل موضوعي.

"الرغبة و / أو الكثير من المال" لا يخلق خوارزمية قادرة على ذلك، وبالطبع "الحرة" رجل يفعل، وخصوصا عندما لا اعتقد انه ما كان يقوم به. في أي حالة مشكلة المعلومات لديها العمياء واحد على الأقل، ولكن بالنسبة له، وعادة على الفور والبقع الآخرين نظيفة واضحة، وليس بالضرورة أن تكون جميع الزهور البيضاء.

تكنولوجيا الإنترنت وتبسيط الحصول على المعلومات، ولكن السؤال هو - كيفية وضع على وجود المطلوب - وليس مبسطة، وحصلت على "حجم" جديد للعمل. وعلى الرغم من أن PHP العادية التعبير بشكل واضح لم تستنفد الفجوة، فهي خطوة هامة إلى الأمام.

وظائف بسيطة + خوارزمية = نمط

تقدم التعابير العادية، PHP خوارزمية يقلل بشكل ملحوظ من المحتوى، ولكن وظائف البحث / الاستبدال وتجهيز الخوارزميات المعتادة تم العثور عليها لم تفقد أهميتها. الأفكار الجديدة لا ينذر به ثورة المعلومات. أقصى ما يمكن توقعه - كود المدمجة وزيادة تطوير القدرة على صياغة استعلام البحث بشكل صحيح.

يجب أن نعرف وضعها على التعابير العادية PHP. أمثلة مقنعة وفعالة. ولكن يجب أن يعطي التقرير أنه مع ظهور محرك بحث جديد، مركز الثقل تحول إلى نمط - وهو نوع من الآلية، على الرغم من حقيقة محلها مجموعة من وظائف بسيطة البحث، وظروف، والحلقات، وشركات أخرى.

لديك:

  • الجودة وأداة حديثة - انه لامر جيد.
  • رؤية واستخدام تجربة الزملاء هي المسألة؛
  • الجمع بين الواقع والفكرة الافتراضية - ضمانا للنجاح.

تحقيق معرفة كيف كان لابد من فهم المشكلة، من أجل حل ذلك، فإنه غالبا ما يكون أكثر أهمية من نتيجة محددة.

يتم تمثيل التعبير العادية في PHP من قبل عدد من الوظائف في بناء الجملة اللغة والكثير من الأمثلة المفيدة على شبكة الإنترنت. بسبب جملة خيارات التطبيق محددة تقتصر فقط من الخيال المطور، ولكن sleuet نأخذ في الاعتبار أن ليس كل من القوالب ستعمل. عن طريق التحقق من صحة PHP من التعابير العادية أمر ضروري.

الطابع بحث بسيط (سلسلة)

رمز - هذا ليس دائما بايت واحد، وغالبا ما يكون رمزا، كورقة، لديه المعنى الدقيق بالإضافة. يحدد ترميز الحروف واضحة في التعليمات البرمجية بشكل مختلف. الرمز قد يكون عدة خيارات: "$" = "USD" = "USD"، ... - هو المعنى الدقيق لأنه في مكان ما شيء، ولكن ليست قريبة بالضرورة، بسبب العملة. ومع ذلك، فإن المعنى الدقيق قد تكمن في PHP متغير، الذي يبدأ دائما مع الحرف "$"، ولكن لا يمكن أن تبدأ مع "USD" و "USD".

رمز البرنامج قد يكون اسم الدالة (سلسلة) في سياق ما يلي: الاعتراف والوفاء - انها من وجوه المنحى البرمجة الديناميكية، وعندما يتم استخدام هيكل، وظائف، PHP منتظم تعبيرات مباشرة لاتخاذ القرارات. العثور على رمز "التحولات"، وهذا هو، في حد ذاته يحدد ما يجب القيام به في المكان الذي تم العثور عليه، وعلى ما هو عليه "، كما يرى" الضرورة.

البحث عن حرف / خط - ليست هذه عملية بسيطة، ومزيد من المعلومات، أكثر وضوحا كلما كان ذلك أفضل. وليس من الضروري دائما أن تجد أفضل وجه في أسعار المواد الغذائية عشر، واختيار وصفات لذيذة كعكة عيد ميلاد، أو لتحديد المقاول لسقف معلق.

غالبا ما يكون ضروريا لتحسين خوارزميات بسيطة ليست معلومات حسابية بسيطة أو في ظروف صعبة، عندما الحرف المطلوب للاختيار من بينها قاعدة بيانات، والخط الذي من الضروري أن تجد - مئات من المواقع. سعر يساوي لتحديد حرف من الوقت نموذج قاعدة البيانات، وثمن أن ننظر فيها - وقت البحث المئات سيئة السمعة من المواقع.

رمز وحيد - أنها ليست العبارة، وليس بضع جمل، وقال انه يمكن أن يكون في أي مكان وأن تكون صغيرة كما تريد. كيفية تحديد ما عثر عليه هو المطلوب؟

مثال: البحث عن الأسعار

مجرد العثور على رمز النص "$" - قليلا. تأكد من أنه يواجه عددا، فإنه ليس دائما كافيا. إذا كنت توفير نقطة أو رقم قبل "$" الرمز هو ضمان أن الأسعار التي رموز النقدية هي قبل لن تؤخذ بعين الاعتبار. هناك يتم حذف أيضا الثمن، والتي بشكل عام لم يتم تحديد العملة، ولكن على الصفحة كان على تعليمات صريحة.

بشكل عام، فإن الحل لهذه المشكلة بالطريقة المعتادة تضخيم وراء خوارزمية الاعتراف وتستغرق وقتا طويلا. وفي الوقت نفسه، وذلك باستخدام تعبير عادي، وعدد من PHP تجد أي مشاكل.

$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | [أوسد | ذ \ £ \ | رق) {1} / ط.".

"انظروا البريد الإلكتروني - 2USD،
ل".
"البحث عن البريد الإلكتروني - 2u.e،
ل"؛
"البريد الإلكتروني العمل - ue2،
".
"التحقق من البريد الإلكتروني - $ 13"، $ aResult)؛
. '؛ ". تنهار ( '،'، $ aResult [0]). "
.

والجواب: "2. 2USD، 2u.e."، ولكن لم أجد أي شيء في السطر: "التحقق من البريد الإلكتروني - $ 13."

التي تنص على وجود نمط أمام أو وراء الطابع، يمكنك تحقيق النجاح بسرعة في معظم الحالات.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | [أوسد | ذ \ £ \ |. رق) {1}) | (([$] | [أوسد | ذ \ £ \. | رق) {1} [0-9] +) / أنا ".
"انظروا البريد الإلكتروني - 2USD،
ل".
"البحث عن البريد الإلكتروني - 2u.e،
ل"؛
"البريد الإلكتروني العمل - ue2،
".
"التحقق من البريد الإلكتروني - $ 13"، $ aResult)؛
. '؛ ". تنهار ( '،'، $ aResult [0]). "
.

النتيجة: "4. 2USD، 2u.e.، ue2، $ 13."

عن المنطق غير مقصود

العادية التعبير PHP العروض، فضلا عن غيرها من الأدوات، ولكن ليس من الضروري تطبيقها وفقا لنظامه أو استخدام وظائف أخرى قدمت طريقة تركيب الصغيرة.

ممكن قبل بداية البحث المطلوبة لتتحول إلى مجموعة، والمكان الذي نبحث، تقسيمها إلى مكونات وفقا لمعايير السابقة. بضع تنفجر () وتنهار () غالبا ما يبسط ويسرع القرار.

على سبيل المثال، نتيجة الأعمال التمهيدية شكلت مجموعة من السلاسل (البيانات) في حي حول كيفية العديد من البطاطا جمعت كل قرية: غير معروف ImyaDerevnya وحجم جمعها، وإذا كان يتم تشغيل البلاد العديد من الشركات في مجموعة من السلاسل غير ImyaDerevnya.ImyaPredpriyatie والقيمة من خلال "؛ " وذلك على جميع الشركات. حساب المبلغ الإجمالي التي تم جمعها في هذه الحالة لن يكون ممكنا، ولكن إذا كنت تفعل impode ( "؛" $ aResult)، سيكون خط واحد طويل، والتي الزوج - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - مجموعة من حجم - ستنقل عبر برنامج "؛" تفعل العكس على الناتج، تنفجر ( "؛" $ aResult) - مجموعة من كل شيء، الذي جمعها وكيفية جمعها، ومن ثم عن طريق إزالة الخطوط من جميع الشخصيات غير رقمية، لدينا أرقام فقط، مبلغ الذي هو الحجم الكلي التي تم جمعها.

في هذا المثال، التعبير العادي في PHP تسمح لا تبدو أكثر من اللازم، فهي استخراج سهلة وميسورة القيم العددية المطلوبة. بسرعة وكفاءة، بغض النظر عن المدة التي قد تكون أسماء القرى والشركات. هذا الحل ليس مثاليا، لكنه يظهر أن لا تتبع دائما يجب أن تكون القواعد. ومن الممكن في كثير من الأحيان لتحقيق المطلوب بطريقة غير معتادة.

التلخيص من الجانب التقني، وترميز

بناء الجملة من الخوارزمية لا يقول كيف يبدو في الواقع. ومع ذلك، وتوفير نفس ترميز الصفحة، والصفوف النصي (الذي سعى فيه صور) يمكن أن يغرق في المشكلة الجوانب التقنية.

يجب على المرء أن لا تعرف فقط ما الذي تبحث عنه، ولكن أين للقيام بذلك، ومتى، كم، ما لتغيير وكيف. رسميا PHP التعابير العادية تنفيذها كآلية كاملة كامل المواصفات من تلقاء نفسها، ولكن لأسباب كثيرة، وإعمال نظيراتها في العديد من اللغات المختلفة. وكقاعدة عامة، قبل الانتقال نمط معين في بيئة أداة معينة لمهمة محددة، فمن الضروري إجراء التكيف ذات جودة عالية، تحقق لجميع الخيارات الممكنة للبيانات المصدر.

حتى إذا كنت تستخدم تجربتك الخاصة في تطوير PHP، التعابير العادية، والأمثلة والنماذج وتصميم تتطلب فحص دقيق. تغيير حيوي وظائف اللغة، وبناء الجملة ووقت التشغيل.

هيكل ومحتوى القالب

ما كتبه سابقا في شكل مزيج من وظائف البحث، الشرطية، عمليات الاستبدال، إدراج، حذف، هو سلسلة من الأحرف وفقا لقواعد معينة - نمط التعبير العادي. في الواقع، يتم ترميز كمية كبيرة بطريقة معينة وتنفيذها من قبل قواعد محددة.

فقط لأنه من المستحيل أن تفعل أي مشغل لغة التصحيح، لا يمكن تصحيح نمط التعبير العادية، وهذا يمكن عملية محاكاة فقط. كما اعتمدت كقاعدة عامة الإصدار: أعمال - لا يعمل. بناء الجملة بسيط جدا، على الرغم من إدراكه، وبخاصة في البداية، من الصعب جدا.

مثال تعبير بسيط

في تجسيد بسيط، قالب يطابق سلسلة:

$ CContents = preg_match ( "/ قوات الدفاع الذاتى الجوية / أنا"، "قوات الدفاع الذاتى الجوية"، $ aResult). '؛ ". تنهار ( '،'، $ aResult).

وستكون النتيجة "1؛ قوات الدفاع الذاتى الجوية"، لأن وظيفة تكمل عملها في اجتمع لأول مرة قالب مطابقة. وستكون النتيجة هي نفسها، وإذا نظرنا إلى خط "aaaasdf" في خط "zzzasdfvvv". إذا قمت بتحديد الحرف الأول و / أو الأخير، فإن النتيجة تكون واضحة:

$ CContents = preg_match ( "/ ^ قوات الدفاع الذاتى الجوية / أنا"، "قوات الدفاع الذاتى الجوية"، $ aResult). '؛ ". تنهار ( '،'، $ aResult). "
ل'؛
$ CContents. = Preg_match ( "/ $ قوات الدفاع الذاتى الجوية /"، "قوات الدفاع الذاتى الجوية"، $ aResult). '؛ ". تنهار ( '،'، $ aResult). "
.

وستكون النتيجة: 1؛ asdf1. قوات الدفاع الذاتى الجوية.

رموز "*" و "$" إلى أين تبدأ وتنتهي النمط. يؤدي وظيفة preg_match - عدد المباريات، يمكن أن يكون 0 أو 1 أو كاذبة، إذا تم الكشف عن وجود خطأ. الخيار الثالث - مجموعة - وضعت عنصر وجدت فقط. في حالة استخدام وظيفة preg_match_all () يستمر البحث إلى خط النهاية.

$ CContents = preg_match ( "/ قوات الدفاع الذاتى الجوية / أنا"، "asdf123asdf456asdf789"، $ aResult). '؛ ". تنهار ( '،'، $ aResult). "
ل'؛
$ CContents. = Preg_match_all ( "/ قوات الدفاع الذاتى الجوية / أنا"، "asdf123asdf456asdf789"، $ aResult). '؛ ". تنهار ( '،'، $ aResult [0]). "
.

النتيجة:

1؛ قوات الدفاع الذاتى الجوية
3؛ قوات الدفاع الذاتى الجوية، قوات الدفاع الذاتى الجوية، قوات الدفاع الذاتى الجوية.

إذا كنت لا تستخدم تعليمات خاصة، كل حرف يعرف نفسه ومكانه، بغض النظر عن الترميز الخط والترميز القالب. مبرمج يجب التأكد من أن ترميز هذه العناصر كانت الصحيح فيما يتعلق بكل صفحة أخرى والترميز.

وظائف PHP للعمل مع التعابير العادية

التعابير العادية لPHP تمثل سلسلة أحرف سجلت بطريقة معينة. عادة، قياسا مع لغات البرمجة الأخرى هي مكتوبة في حرف "/" ... "/" ووضعها في علامات اقتباس، يمكنك استخدام مفردة أو مزدوجة بالاعتماد على خوارزمية.

وأهم وظيفة فب PREG مباراة التعابير العادية تستخدم على حد سواء مباراة نمط ويتوقف ذلك على الموقع الأول، وهو البديل منه مع _all احقة يجد جميع المباريات، وإخراج مجموعة منها. PREG وظيفة استبدال يحل محل كل مباراة قالب، ويمكن ان تعمل مع المصفوفات، مما يتيح تصميم البحث وتنفيذ استبدال مجموعة متنوعة من الخيارات.

ويمكن تطوير خيارات مثيرة للاهتمام للعمل مع التعابير العادية باستخدام وظيفة preg_replace_callback أن يأخذ أي نص الاستبدال، واسم وظيفة، والتي سوف تنفذ مثل هذا الاستبدال. بالإضافة إلى القيمة العملية يمكنك تنفيذ آليات الاختيار نمط، أن تطوير والتصحيح الأخير يلعب دورا هاما.

نطاق التعابير العادية

حيث يتم رسميا اللغات النص التشعبي المعلومات إلى حد كبير فهي مواد البداية. وضعت عددا كبيرا من القوالب والتصاميم التي تسمح لمعالجة كميات كبيرة من البيانات بكفاءة. يتم تنفيذ جزء كبير من هذا العمل آليات بنيت في مختلف نظم إدارة المحتوى (CMS).

ليس من المستغرب أن العديد من CMS أصبحت فعليا معايير لمواقع البناء، ويجري يرافقه الشركات (تحديث) برنامج، فإنها لم تجعل من الضروري لتنفيذ تطوير أنماط من تلقاء نفسها. ومع ذلك، خارج هذه الأنظمة لدينا تجربة مع التعابير العادية أمر مفيد للغاية.

التعابير العادية والمعلومات الحقيقية

مجال هام من مجالات تطبيق التعابير العادية في المكتبات PHP شكلت PHPOffice ظهور. العمل مع المستندات وجداول البيانات، وكانت دائما مهمة وOOXML مستوى ممكن ليس فقط لتفكيك الوثائق الفعلية، ولكن أيضا لتشكيل برنامجهم.

وبفضل تطور النص التشعبي وPHP اللغات على وجه الخصوص، هناك فرصة حقيقية لأتمتة "إنتاج" الوثائق "النموذج القياسي"، على سبيل المثال، والفواتير للدفع، وتقارير، وخطط العمل، وغيرها من الأشياء المعلومات، وهيكل ومحتويات هي في الواقع قابلة للتشكيل والأتمتة.

في اتصال مع تطبيق لوصف عملية التطور اللغوي OOXML من التعابير العادية يختلف تماما عن العمل التقليدي مع لغات الترميز HTML و CSS في المقام الأول. الوثيقة الفعلية، باستثناء وضع العلامات وبالإضافة إلى المحتوى الفعلي لديها الكثير من التفاصيل. على سبيل المثال، مستند تم إنشاؤه تلقائيا من قبل البرنامج، وسوف يكون محتوى قوي ودقيق. وثيقة شكلت أو الشخص المعالجة، سوف يكون لها مضمون، وقد رسمت على عدد وافر من العلامات. أي عمل مع وثيقة يؤدي ذلك إلى حقيقة أن دلالات قد تكون واحدة، ولكن رسمت في كميات مختلفة على تصاميم مختلفة.

المعلومات الطبيعية والوضع

والشخص دائما مهتمة في حل المشكلة، والتي نظمت من المعلومات، ونتيجة لذلك، سيتم إعطاء نفس المعلومات. عرض بيان المشكلة في شكل وثيقة، فإن أي شخص يحصل على دلالات محددة، والتي هي في مواصفات الخبراء (تعديل وتوضيح الصياغة، حذف أو تعديل) لا يؤدي فقط إلى إصدارات متعددة من وثيقة، ولكن أيضا لإصدارات مع المحتوى.

على وجه الخصوص، فإن المهمة التي وضعتها عبارة "يحل uranenie مربع" بعد تحرير سيبدو هذا: "لحل معادلة من الدرجة الثانية". إذا كان في البداية لقد تم تصحيح الخطأ الأول، ثم الثاني، ثم المعلومات الطبيعية في الاسلوب OOXML قد تبدو: "[حل] [] [ساحة] [ه] [] [هتاف] [ب] [nenie]"، ولكن هذا لا نضمن أن هذه هي ستظهر المهمة في OOXML العلامات (بين قوسين محاكاة علامات قوسين).

معا لوضع المعلومات يمكن بسهولة بعد كل مهمة في عملية التحرير، ولكن في كل مرة سيتم تنفيذ هذا الإجراء من قبل مختلف الخوارزميات. أصبحت التعابير العادية، كنوع من أداة لإضفاء الطابع الرسمي على مشاكل المعلومات، في الواقع، والمشي مسارات من الهياكل الرسمية للالنص التشعبي إلى المعلومات الطبيعية.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.birmiss.com. Theme powered by WordPress.