অবমানন সতর্কতা: অবৈধ অব্যাহতি ক্রম - \ d এর পরিবর্তে কী ব্যবহার করবেন?


115

reপাইথন 3.6.5-এ মডিউল নিয়ে আমি একটি সমস্যা পেয়েছি । আমার নিয়মিত প্রকাশে আমার এই প্যাটার্নটি রয়েছে:

'\\nRevision: (\d+)\\n'

তবে আমি যখন এটি চালাচ্ছি, আমি একটি পেয়ে যাচ্ছি DeprecationWarning

আমি এসও-তে সমস্যাটি অনুসন্ধান করেছি এবং উত্তরটি খুঁজে পাইনি, আসলে - এর পরিবর্তে আমার কী ব্যবহার করা উচিত \d+? শুধু [0-9]+বা অন্য কিছু হতে পারে?


4
সমস্যা হওয়া উচিত নয়, আরও কোড সরবরাহ করুন?

4
ডাবল পালাতে \dবা ব্যবহার r'\\nRevision: (\d+)\\n'?
রেভো

উত্তর:


189

পাইথন 3 স্ট্রিং লিটারেলগুলিকে ইউনিকোড স্ট্রিং হিসাবে ব্যাখ্যা করে এবং তাই আপনার \dপলাতক ইউনিকোড চরিত্র হিসাবে বিবেচিত হয়।

নীচে হিসাবে প্রিপেন্ডিংয়ের পরিবর্তে আপনার রেগেক্স প্যাটার্নটিকে কাঁচা স্ট্রিং হিসাবে ঘোষণা করুন r:

r'\nRevision: (\d+)\n'

এর অর্থ হ'ল আপনিও পালিয়ে যেতে পারেন \nকারণ এগুলি কেবল নিউলাইন চরিত্র হিসাবে পার্স করা হবে re


9
কিছুটা সুনির্দিষ্টভাবে বোঝার জন্য, \dএকটি অবিজ্ঞাত অব্যাহতি ক্রম হিসাবে গণ্য করা হয় এবং এটিকে অপরিবর্তিত রেখে দেওয়া হয়। পাইথন ৩.6 থেকে একটি হ্রাসকারী ওয়ার্নিং দেওয়া হয়। পাইথনের ভবিষ্যতের কিছু সংস্করণে এটি সিনট্যাক্সেরর হবে। দস্তাবেজে "2.4.1। স্ট্রিং এবং বাইটস আক্ষরিক" থেকে বিশদ।
ভিপিএফবি

@ ভিপিএফবি থ্রেডটি পুরানো, তবে আমি একই সমস্যার উত্তর খুঁজছিলাম। যদি \ d কে পালিয়ে যাওয়া ইউনিকোড চরিত্র হিসাবে বিবেচনা করা হয়, তবে আমি কীভাবে কাঁচা স্ট্রিং হিসাবে রেজেক্স প্যাটার্নকে চিকিত্সা না করে ডি (বর্ণানুক্রমিক অক্ষর) থেকে \ d (কোনও অঙ্ক) থেকে আলাদা করব? (একই প্রশ্ন \ ডাব্লু, \ ডাব্লু ইত্যাদিতে প্রযোজ্য ...)
জিউলিয়া_ড্যান্ট

4
@ থেগজিগ আমি যদি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পারি - আপনার ব্যাকস্ল্যাশ থেকে বাঁচুন, সুতরাং স্ট্রিংটি পড়বে '\\d'
এ্যাকাসারিনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.