मेरी निम्नलिखित स्थिति है। मुझे MySQL का उपयोग करके विवरण से नियमित अभिव्यक्ति को प्रतिस्थापित करना होगा। विवरण:
Lorem D9801 ipsum मातम बैठ अमेट
जहां D9801 REGEXP है। हर मजबूत पाठ विवरण में अलग-अलग सामग्री होती है, लेकिन मेरा regexp ऐसा दिखता है: REGEXP 'D [[: digit:]]] "4}
REGEXP में हमेशा शुरुआत में "D" और अंत में "xxxx" - 4 अंक होते हैं: Dxxxx
मुझे पता है कि REGEXP केवल सही / गलत मूल्य देता है, लेकिन मैं केवल 'D9801' मान वापस करने के लिए क्वेरी कैसे कर सकता हूं?
मैंने कुछ इस तरह की कोशिश की:
SELECT SUBSTRING (description, LOCATE(REGEXP 'D[[:digit:]]{4}', description), 5)
FROM (
SELECT "Lorem D9801 ipsum dolor sit amet" AS description
) temp
मुझे पता है कि यह गलत है, इसलिए मैं इसके साथ प्रयास करता हूं:
SELECT
id,
SUM(description REGEXP 'D[[:digit:]]{4}') AS matches,
CASE
WHEN (SUM(description REGEXP 'D[[:digit:]]{4}') > 0) THEN
SUBSTRING(description, LOCATE( /*POSITION_OF_REGEXP_IN_DESC*/ , description), 5)
ELSE 'Brak schematu'
END AS show_substr FROM ps_description GROUP BY id;
लेकिन regexp की स्थिति कैसे पता करें?
मैंने यूडीएफ के बारे में सुना है लेकिन मैं इसका उपयोग नहीं कर सकता, मैं ओवीएच होस्टिंग का उपयोग करता हूं।