بيثون التعابير العادية - كيفية التقاط مجموعات متعددة من التعبير البدل؟

StackOverflow https://stackoverflow.com/questions/464736

  •  19-08-2019
  •  | 
  •  

سؤال

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

وre.search("(\w)*", "abcdefg").groups ()

وهذا يعود لقائمة ( 'ز'،)

وأنا في حاجة إليها للعودة (ع '،' ب '،' ج '،' د '،' ه '،' و '،' ز '،)

هل هذا ممكن؟ كيف يمكنني فعل ذلك؟

هل كانت مفيدة؟

المحلول

وبالإضافة إلى دوغلاس Leeder في حل ، وهنا هو التفسير:

في التعابير العادية هو ثابت لعدد المجموعات. وضع محدد الكمية وراء مجموعة لا يزيد عدد المجموعات (تخيل الاضافة جميع المؤشرات مجموعة أخرى لمجموعة eralier الملائمة أكثر من مرة واحدة).

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

.

نصائح أخرى

re.findall(r"\w","abcdefg")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top