পাইথনের সংকলিত রিজেপএক্স প্যাটার্ন থেকে আমি কীভাবে প্যাটার্ন স্ট্রিং পেতে পারি


87

আমার মতো এই মত কিছু কোড রয়েছে:

>>> import re
>>> p = re.compile('my pattern')
>>> print p
_sre.SRE_Pattern object at 0x02274380

পরিবর্তনশীল "my pattern"থেকে স্ট্রিং পাওয়া সম্ভব p?

উত্তর:


108
p.pattern

পুনরায় মডিউল সম্পর্কে এখানে আরও পড়ুন: http://docs.python.org/library/re.html


7
ধন্যবাদ আমি দস্তাবেজগুলি পড়ি না আমি চেষ্টা করি আমি dir (p) এবং এটি কেবল বেশ কয়েকটি বৈশিষ্ট্য এবং পদ্ধতি প্রদর্শন করে। stackoverflow.com/questions/1415924/...
Mykola Kharechko

আমিও এটি করেছি, ধরে নিয়েছি যে এটির কোনও সহজ উপায় নেই :)
অ্যান্ট্রপিক

4
অজগর 3 দির মতো মনে হয় (কিছু_কম্পিল্ড_প্যাটার্ন) বৈশিষ্ট্যগুলি প্রদর্শন করে তবে ২.7-এ নয়
ডেভিড ল্যাম

10
> এ জাতীয় প্রশ্ন পোস্ট করার আগে ডকস পড়বেন না কেন? কারণ আপনি যখন গুগল করেন স্ট্যাক ওভারফ্লো প্রথমে ফিরে আসে। পুরোপুরি বৈধ প্রশ্ন।
হারুন

21

থেকে "নিয়মিত এক্সপ্রেশন অবজেক্টস" বিভাগে reমডিউল ডকুমেন্টেশন:

RegexObject.pattern

যে প্যাটার্ন স্ট্রিং থেকে আর আই অবজেক্টটি সংকলিত হয়েছিল।

উদাহরণ স্বরূপ:

>>> import re
>>> p = re.compile('my pattern')
>>> p
<_sre.SRE_Pattern object at 0x1001ba818>
>>> p.pattern
'my pattern'

সঙ্গে reপাইথন 3.0 এবং উপরোক্ত মডিউল, আপনি একটি সহজ করে এই জানতে পারেন dir(p):

>>> print(dir(p))
['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__gt__',
'__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__', 'findall', 'finditer', 'flags',
'groupindex', 'groups', 'match', 'pattern', 'scanner', 'search',
'split', 'sub', 'subn']

এটি পাইথন ২.6 (বা 2.5) এ কাজ করে না - dirকমান্ডটি নিখুঁত নয়, তাই ডক্সটি সর্বদা পরীক্ষা করা উপযুক্ত!

>>> print dir(p)
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner',
'search', 'split', 'sub', 'subn']

9

হ্যাঁ:

print p.pattern

ইঙ্গিত, dirসদস্যগুলির একটি তালিকা পেতে পাইথনে ফাংশনটি ব্যবহার করুন :

dir(p)

এই তালিকা:

['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__',
'__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',
'__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'findall', 'finditer', 'flags', 'groupindex', 'groups', 'match', 'pattern',
'scanner', 'search', 'split', 'sub', 'subn']

4
help( value )কনসোলটিতে অনেক বেশি কার্যকর।
জোচেন রিটজেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.