كيفية بناء بناء جملة تعبير منتظم لعلامات HTML؟
التعبيرات العادية لها مواقف لا يمكن الاستغناء عنها في عملية معالجة السلاسل. هناك حزم دعم التعبير العادية المقابلة في اللغات عالية المستوى للكمبيوتر اليوم.
إذا تعاملنا مع رمز HTML في صفحة ويب كسلسلة منظمة ، فكيف يمكننا استخراج علامات HTML المطلوبة (العلامات) بطريقة تشبه التعبيرات العادية؟
دعونا لا نفكر في كيفية تنفيذها أولاً ، ولكن فكر في كيفية وصف علامة HTML بطريقة تشبه التعبير العادية. للحصول على علامة HTML ، تحتاج إلى معرفة نوعين من سمات العلامة:
1. موقع الملصق ؛
2. سمات العلامة نفسها ؛
على سبيل المثال ، في صفحة HTML التالية:
<html>
<body>
<div id = "bodywrapper">
<div id = "LeftWrapper">
</div>
<div id = "rightWrapper">
<viv>
<viv>
<viv>
<viv>
</div>
</div>
</body>
</html>
إذا كنت ترغب في استخراج علامة DIV الثانية في رمز HTML أعلاه ، فأنا بحاجة إلى تحديد معرف الفئة والفئة والموقع من DIV. السؤال الآن هو: كيفية تصميم قواعد التعبير التي تلبي المتطلبات المذكورة أعلاه؟
على سبيل المثال:
GetTag: div {tag-name: div ؛ tag-position: 2 ؛ class-class: column ؛ tag-id: ؛ محتوى العلامات: ؛ ؛}
TAG-PARENT {tag-name: div ؛ tag-position: 2 ؛ tag-class: column ؛ tag-id: ؛ محتوى العلامات: ؛ ؛}
Tag-Child {......}
فوق هذا هو بناء جملة وصفية سهلة الفهم.
أو بناء جملة تشبه الثعبان:
gettag: div
اسم العلامة:
معرف العلامة:
وضع العلامة: 2
فئة العلامات: العمود
محتوى العلامات:
الوالد العلامة:
اسم العلامة:
معرف العلامة:
وضع العلامة: 2
فئة العلامات: العمود
محتوى العلامات:
العلامة:
TAG-TYPE: الجدول
لا أعرف ما إذا كان هناك شكل تعبير نحوي أكثر ملاءمة. طالما أنه يمكن تصميم قواعد التعبير هذه بشكل معقول ، سيكون من السهل القيام بالعمل اللاحق. الهدف النهائي من هذا هو: يمكن للمبرمجين تحليل كود HTML مع هذا التعبير ، تمامًا مثلما يتعامل مع السلاسل العادية.
آمل أن يشارك الجميع ويعطي المزيد من الأفكار. سأقوم بتحسين هذه القواعد النحوية بناءً على ملاحظات الجميع وأقوم بتنفيذ بناء على هذه القواعد.
الرجوع إلى:
يمكن العثور على مقدمة أساسية للتعبيرات العادية هنا:
http://www.vevb.com/htmldata/2006-03-16/1142469074.html
http://www.vevb.com/htmldata/2006-03-16/1142468929.html
تم اقتراح التعبيرات المنتظمة لأول مرة من قبل عالم الرياضيات ستيفن كلين في عام 1956 ، بناءً على نتائج البحوث الإضافية للغة الطبيعية. تم استخدام تعبيرات منتظمة مع بناء الجملة الكامل في نموذج المطابقة للأحرف وتم تطبيقها لاحقًا على مجال تكنولوجيا المعلومات المنصهرة. منذ ذلك الحين ، بعد عدة فترات من التطوير ، تمت الموافقة على المعايير الحالية من قبل ISO (منظمة المعايير الدولية) والتعرف عليها من قبل المجموعة المفتوحة.
التعبيرات العادية ليست لغة متخصصة ، ولكن يمكن استخدامها كمعيار للعثور على النص واستبداله في ملف أو حرف. لديها معاييران: التعبيرات العادية الأساسية (BRE) ، التعبيرات العادية الممتدة (ERE). يشمل ere وظائف BRE والمفاهيم الأخرى.
يتم استخدام التعبيرات العادية في العديد من البرامج ، بما في ذلك XSH و Egrep و SED و VI والبرامج تحت منصة UNIX. يمكن تبنيها من خلال العديد من اللغات ، مثل HTML و XML ، والتي عادة ما تكون مجرد مجموعة فرعية من المعيار بأكمله.