تصف هذه المقالة وظائف واستخدام المشاهدة المحيطة المنتظمة والقيام الخلفي في Java. شاركه للرجوع إليه ، على النحو التالي:
حول العرض
1. المحيط بالمفهوم
النظر حولي ، والمعروف أيضا باسم التأكيد على عرض الصفر ، تأكيد مختصر.
تؤكد المنظر المحيطي على الموضع (الأمامي أو الخلف) ، ويجب أن يكون تعبير العرض المحيطي ناجحًا.
يمكن اعتبار المشاهدة المحيطة شرطًا إضافيًا للحكم للإضافة الافتراضية إلى موقعه ولا يستهلك الشخصيات المتطابقة العادية.
2. النظر حول التعبير الأساسي
(؟ = التعبير) الترتيب إيجابي ويمكن مطابقة التعبير على الجانب الأيمن من الموقع.
(؟! التعبير) نفي تسلسل المشاهدة المحيطة يعني أن الجانب الأيمن من الموقع لا يمكن أن يتطابق مع التعبير
(؟ <= التعبير) ينظر الترتيب العكسي بشكل إيجابي حوله ، مما يشير إلى أن الجانب الأيسر من الموضع يمكن أن يتطابق مع التعبير
(؟ <! التعبير) ترتيب عكسي ينفي الرأي المحيط ، مما يشير إلى أن الجانب الأيسر من الموضع لا يمكن أن يتطابق مع التعبير
ملاحظة: يتطابق الجانب الأيمن من الترتيب (=) ، ويحتوي العرض المحيطي للعكس على <من العرض المحيطي المتسلسل.
يدعم JavaScript فقط المشاهدة المحيطة المتسلسلة ، ولكنها لا تدعم المشاهدة المحيطة العكسية.
على الرغم من أن كل من العرض المحيطي المتسلسل والعكس من العرض المحيطي عكسي مدعومان في Java ، إلا أن العرض المحيطي العكسي يدعم فقط التعبيرات مع تحديد الطول. بالترتيب العكسي للمنظر المحيطي ، تدعم الكميات فقط؟ ولا تدعم الكميات الأخرى بطول غير مؤكد.
3. استخدم الأمثلة
3.1. تأكيد التسلسل والنظر حولك (؟ = التعبير)
3.1.1. تطابق اسم الملف بدون لاحقة مع نهاية اللاحقة ".txt"
【.+(؟ =/. txt)】
نص:
txtfile.txt
exefile.exe
inifile.ini
نتيجة التطابق: txtfile
3.1.2. مطابقة كلمة المرور (يجب أن تحتوي على رسائل (حالة غير حساسة) ، أرقام ، 6-16 أرقام)
【^(؟ =.*؟ [a-za-z]) (؟ =.*؟ [0-9])
(؟ =.*؟ [A-ZA-Z]) يعرّف حرفًا واحدًا على الأقل في الأحرف التالية ، ويستخدم (؟ =.*؟ [0-9]) لتحديد رقم واحد على الأقل في الأحرف التالية ، وأخيراً يحدد التحديد الكمي عن طريق مطابقة بالفعل [A-ZA-Z0-9] {6،16}.
3.2. نفي التسلسل للعرض المحيطي (؟! التعبير)
3.2.1. علامات تطابق غير <a> </a>
【<(؟!/؟ a/b) [^<]+؟>】
النص: <a> <a1> </a> zxiaofan <viv> com </d> iv> cc
نتيجة المباراة:
<A1>
<viv>
</c>
3.2.2. تطابق اسم الملف مع اللاحقة التي ليست ".txt" في نهاية اللاحقة
【.+ (؟!/. txt)】 أخطاء التعبير لأن.+ ليس له موضع محدد وهو مطابقة جشع. (So.+ يمكن أن تطابق مباشرة txtfile.txt)
【(.+) (؟!/. txt)/. [^.]+$】
نص:
txtfile.txt
exefile.exe
inifile.ini
نتيجة المباراة:
exefile.exe
inifile.ini
3.3. تأكيد ترتيب عكسي حول (؟ <= التعبير)
3.3.1. تطابق المحتوى بين العلامات المحددة
【(؟ <= <viv>) [^<]+(؟ = </div>)】
النص: <viv> zxiaofan.com </iv>
النتيجة المطابقة: zxiaofan.com
3.3.2. احصل على قيمة المعلمة المحددة
【(؟ <= name =).+】
نص:
الاسم = zxiaofan
العمر = 20
المستوى = 6
نتيجة المباراة: zxiaofan
3.4. عكس الترتيب النفي للعرض المحيطي (؟ <! التعبير)
3.4.1. احصل على قيمة المعلمات غير المحددة
【^[^=#]+= (؟ <! name =).+$】
نص:
الاسم = zxiaofan
العمر = 20
المستوى = 6
#الجنس = 1
نتيجة المباراة:
العمر = 20
المستوى = 6
4. أمثلة شاملة
4.1. يجب أن تحتوي على رسائل وأرقام وشخصيات خاصة
【^(؟ =.*؟ [a-za-z]) (؟ =.*؟/d) (؟!
Explanation: ^(؟ =.*؟ [a-za-z]) يجب أن يكون لها الحروف ؛ (؟ =.*؟/d) يجب أن يكون الحد الأرقام ؛ (؟! [A-ZA-Z/D]+$) لا يمكن أن يكون كل الأرقام والحروف.
4.2. تطابق اسم المجال الرئيسي (تطابق اسم المجال الأعلى)
【(؟ <= (؟ :: /// w {0،50}/.)؟) (؟:/w {0،50}/.) (: com/.cn | net/.cn | org/.cn | com | net | org |
نص:
vip.zxiaofan.com.cn
http://zxiaofan.com/123
www.zxiaofan.org.cn
نتيجة المباراة:
zxiaofan.com.cn
zxiaofan.com
zxiaofan.org.cn
ملاحظة: [؟:] لا تلتقط النص المطابق للمجموعات المسمى تلقائيًا ، ولا يقومون بتعيين مجموعات لهذه المجموعة. (لن يؤثر على النتيجة بعد الإزالة)
اسم المجال الخاص: Wanwang www.net.cn
4.3. تطابق 5 أرقام هواتف محمولة متتالية
【1 [34578]/d {3} (/d) (؟!/1 {1}) (/d)/2 {4}】
نص:
18328501111
183285111111
18328551111
183281111111
نتيجة المباراة:
183285111111
Note1:/1 يطابق المجموعة الأولى من المحتويات
ملاحظة 2: (؟!/1 {1}) مرشح 6 أرقام متتالية
الخلفية
1. مفهوم الخلفية
مجموعة التقاط: اقسم إلى عدة مجموعات وفقًا لـ () subexpression ؛ كل زوج من () يظهر هو مجموعة التقاط. سيقوم المحرك بترقيم مجموعة الالتقاط ، وقاعدة الترقيم هي القوس الأيسر (ترتيب الحدوث من اليسار إلى اليمين ، بدءًا من 1.
تسمية مجموعة الالتقاط:
(؟ <name> exp) تطابق Exp و Capture Text في مجموعة اسمها اسم ، والتي يمكن أيضًا كتابتها باسم (؟ 'name'exp) ؛
(؟: exp) تطابق EXP ، لا تلتقط النص المطابق إلى المجموعة المسمى تلقائيًا ، ولا يعين رقم مجموعة لهذه المجموعة.
الخلفية:
/1 تعني المجموعة الأولى (ABC) ؛ /2 تعني المجموعة الثانية ؛
/k <word>: يشير إلى المجموعة مع الاسم المحدد.
2. استخدم الأمثلة
2.1. تطابق اسم الملف بنفس البداية والنهاية
【([AZ] {3}) [AZ]+/./1 {1}】
نص:
txtfile.txt
exefile.txt
fileini.ini
نتيجة المباراة:
txtfile.txt
ملاحظة: ([AZ] {3}) هي المجموعة الأولى ، و /1 {1} تعني الإشارة إلى المجموعة الأولى مرة واحدة (لا يمكن كتابتها باسم /1 {3} هنا).
ملاحظة: فيما يلي أداة تعبير منتظمة مريحة للغاية للرجوع إليها:
أداة اختبار javaScript التعبير العادي عبر الإنترنت:
http://tools.vevb.com/regex/javaScript
أداة توليد التعبير العادية عبر الإنترنت:
http://tools.vevb.com/regex/create_reg
لمزيد من المعلومات حول خوارزميات Java ، يمكن للقراء المهتمين بهذا الموقع عرض المواضيع: "Java Presconse Expressions" ، "Java Data Structure and Algorithm Tutorial" ، "Java Operation DOM Node Markets" ، "Java File and Directory Operation Markets Summary" و "Java Cache Operation Marketary Marketary"
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.