টেক্সট নির্বাচন করতে RegEx ব্যবহার করে


0

আমার লেখাগুলির বেশ কয়েকটি লম্বা স্ট্রিং রয়েছে যেখানে প্রথম 30 টি অক্ষর সব একই রকম, কিন্তু নিম্নোক্ত অক্ষরগুলি সর্বদা র্যান্ডম হয় তবে এটি শেষ অক্ষরটি সর্বদা '& gt;'। আমি কিভাবে এই স্ট্রিং সব অনুসন্ধান করতে RegEx ব্যবহার করতে পারেন?

অর্থাত। নীচের উদাহরণে এখানে আবর্জনা টেক্সট প্রচুর নেতৃস্থানীয় সঙ্গে দেখানো & amp; পশ্চাদ্ধাবন অস্তিত্বগুলি মূলত কোনও প্রিন্টযোগ্য অক্ষর ছাড়া কোনও প্রিন্টযোগ্য অক্ষর নয়। যখন & gt; চরিত্র পাওয়া যায়, যে আমি অনুসন্ধান করছি যে স্ট্রিং চূড়ান্ত চরিত্র।

<?php if(!isset($GLOBALS["\x61***Lots of Garbage Text Here***>

আপনি কি টেক্সট এডিটর ব্যবহার করছেন? কি অপারেটিং সিস্টেম? আপনি কি পাঠ্য / প্রতিস্থাপন বক্সে যে পাঠ্যটি চান তা পেস্ট করবেন না এবং প্রতিস্থাপন বাক্স খালি ছেড়ে দেবেন? টেক্সট লাইনে ব্যবধান? আপনি যে সম্পূর্ণ পাঠ্যটি সরাতে চান তা প্রদর্শন করার জন্য এটি কার্যকর হতে পারে যাতে লোকেরা সম্পূর্ণ বিকল্পগুলি প্রস্তাব করতে পারে।
Mokubai

1
একটি ব্যাকআপ থেকে পিএইচপি ফাইল পুনরুদ্ধার করুন, অথবা একটি সুপরিচিত-ভাল উৎস, যেমন সংস্করণ নিয়ন্ত্রণ থেকে স্ক্রিপ্ট পুনরায় ইনস্টল?
slhck

প্রথমে কীভাবে ম্যালওয়ারটি প্রথম স্থানে গিয়েছিল এবং নিরাপত্তা গহ্বর (গুলি) ঠিক করে তা কাজ করে। তারপর আপনার ব্যাকআপ থেকে পুনরুদ্ধার করুন ...
DavidPostill

ম্যালওয়ার খোঁজার, ব্যাকআপ থেকে পুনরুদ্ধার ইত্যাদি সম্পর্কে শুনতে সুন্দর। এটি একটি ওএস সম্পর্কিত নয়, এটি একটি পাঠ্য সম্পাদকও নয়। এই প্রশ্ন শুধুমাত্র RegEx সম্পর্কে। বেশি না. এখন যদি কেউ RegEx জানে, আমি জানতে চাই যে বাঁদিকের সাথে শুরু হওয়া স্ট্রিংটি কীভাবে অনুসন্ধান করতে হয় & lt; এবং ডান দিকে নির্দেশ করে & gt ;, কিন্তু x61 প্লাস আরো আবর্জনা মাধ্যমে স্ট্রিং এর শুরু থেকে উপরে স্ট্রিং আছে।
Robert Ameeti

উত্তর:


0

এর জন্য:

<?php if(!isset($GLOBALS["\x61***Lots of Garbage Text Here***>

Regex হয়:

^\<\?php if\(\!isset\(\$GLOBALS\[\"\\x61([^\>]*)\>

উপরে প্রতিটি ব্যাক-স্ল্যাশ প্রতিটি বিশেষ চরিত্র অব্যাহতি।

(যারা অক্ষর সব পালানো প্রয়োজন হতে পারে, কিন্তু এটি তাদের থেকে রক্ষা করার কোন ক্ষতি নেই)।

দ্য মূল অংশ হল: ([^\>]*)

যা অনুবাদ করে:

কোন অক্ষর মেলে যা নয় >, বার কোন সংখ্যা।


অসাধারণ. আমি এই বিষয়ে পড়াশোনা করেছি এবং যদি আমার মনে হয় ... ... & quot;, & gt ;, বিশেষ অক্ষর না থাকায়, তাদের পালাতে কোন প্রয়োজন ছিল কেন? এছাড়াও, এর পরিবর্তে তারকাচিহ্নিত ব্যবহারকারী কেন + প্রথম অংশ সবসময় চেয়েছিলেন?
Robert Ameeti

নেতৃস্থানীয় উদ্দেশ্য কি, & amp; তারকাচিহ্নটি পিছনে পিছনে পিছনে কেন থাকে?
Robert Ameeti

আমি আপনার প্রশ্নগুলিকে যথাসম্ভব উত্তরের উত্তর দেব, @ রবার্ট - যদিও মনে রাখবেন আমি বিশেষজ্ঞের পরিবর্তে রেগেক্সে একটি "মধ্যবর্তী"। 1) আমি এখনও রেগেক্স কমান্ড অক্ষরের পুরো লাইব্রেরির সাথে পরিচিত নই, তাই আমি যা কিছু নেই তা থেকে পালাতে পারি A-Za-z0-9, শুধু নিরাপদ হতে। এটা পালানোর প্রয়োজন হয় না যে একটি চরিত্র থেকে পালা কোন ক্ষতি করে। 2) হ্যাঁ, আপনি খুব সঠিক - দেওয়া যে আমরা জানি যে গার্বেজ পাঠ্যটি কখনই 0 অক্ষর নয় + সম্ভবত তুলনায় আরো উপযুক্ত *। 3) ^ ম্যাচ শুরু ইঙ্গিত। একজন $ শেষ নির্দেশ করে। আপনি উভয় বা উভয় ব্যবহার করতে পারেন।
Rounin

4) * বন্ধনী ভিতরে অন্তর্গত কারণ এটি অবিলম্বে অনুসরণ করে ] এবং বন্ধনী পুরো জিনিস প্রায় মোড়ানো। মূলত, দী * (অথবা + ) এই হিসাবে অনেক ম্যাচ বলে [^\>] (অর্থাৎ অক্ষর যা না > ) আপনি খুঁজে হিসাবে। বন্ধনীগুলি বলে: "আপনি যা পেয়েছেন তা মনে রাখবেন।" আমি বুঝতে পারছি যে আপনি যা মিলছে তা রেকর্ড করার প্রয়োজন নেই তবে আমি ডিফল্টরূপে মিল-স্ট্রিং রেকর্ড করতে চাই। (আবার, ঠিক ক্ষেত্রে)।
Rounin

যদি এই প্রতিক্রিয়াটি আপনার প্রশ্নের উত্তর দেয়, @ রবার্ট, অনুগ্রহ করে এটি গ্রহণ করুন, যাতে একই ধরণের প্রশ্নযুক্ত অন্যদের এটি আরও সহজে খুঁজে পেতে পারে। অনেক ধন্যবাদ!
Rounin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.