এই পদ্ধতির এটি স্বয়ংক্রিয়ভাবে ব্যবহার করতে ব্যবহার করা যেতে পারে (নিম্নলিখিত উদাহরণস্বরূপ সমাধানটি অজগরটিতে রয়েছে, যদিও স্পষ্টতই এটি কোনও ভাষায় পোর্ট করা যেতে পারে):
আপনি পূর্বেই সাদা স্থানটি ছিনিয়ে নিতে পারেন এবং অ-হোয়াইটস্পেস অক্ষরগুলির অবস্থানগুলি সংরক্ষণ করতে পারেন যাতে আপনি নীচের মত মূল স্ট্রিংয়ের সাথে ম্যাচিং স্ট্রিংয়ের সীমানা অবস্থানগুলি খুঁজে পেতে পরবর্তীগুলি ব্যবহার করতে পারেন:
def regex_search_ignore_space(regex, string):
no_spaces = ''
char_positions = []
for pos, char in enumerate(string):
if re.match(r'\S', char): # upper \S matches non-whitespace chars
no_spaces += char
char_positions.append(pos)
match = re.search(regex, no_spaces)
if not match:
return match
# match.start() and match.end() are indices of start and end
# of the found string in the spaceless string
# (as we have searched in it).
start = char_positions[match.start()] # in the original string
end = char_positions[match.end()] # in the original string
matched_string = string[start:end] # see
# the match WITH spaces is returned.
return matched_string
with_spaces = 'a li on and a cat'
print(regex_search_ignore_space('lion', with_spaces))
# prints 'li on'
আপনি যদি আরও যেতে চান তবে আপনি ম্যাচ অবজেক্টটি তৈরি করতে পারেন এবং পরিবর্তে এটি ফিরিয়ে দিতে পারেন, সুতরাং এই সহায়কটির ব্যবহার আরও সহজ হবে।
এবং এই ফাংশনটির পারফরম্যান্স অবশ্যই অনুকূলিত করা যায়, এই উদাহরণটি কেবল কোনও সমাধানের পথ দেখানোর জন্য।