Ungkapan biasa untuk memadankan perkataan
P粉957723124
P粉957723124 2024-04-06 21:24:04
0
1
870

Saya mempunyai skrip di mana saya cuba memadankan nama kerja baharu dengan nama kerja sedia ada dalam pangkalan data.

SELECT 
a.title AS JobTitle,
j.Description  AS MatchedJobTitle,
f.Description      AS Family,
p.ShortDescription AS ColourComplexity,
j.IsCustomerFacing,
j.JobTitleID
FROM JobTitle j
CROSS JOIN Staging.TMP_OC1 a
INNER JOIN JobFamily f ON j.JobFamilyId = f.JobFamilyID
INNER JOIN Pathways p ON f.PathwaysID = p.PathwaysID        
WHERE a.title REGEXP CONCAT('([[:<:]]|^)', j.Description, '[s]?([[:>:]]|$)');

Jadual Staging.TMP_OC1 mempunyai rekod untuk kedudukan baharu, dalam kes ini, Software Developer,USA. Saya ingin memadankannya dengan tajuk kerja sedia ada pangkalan data "Pembangun Perisian". Kod regex di atas berfungsi untuk beberapa jawatan tetapi bukan yang lain. Sila bantu membangunkan rancangan yang lebih komprehensif.

Saya menggunakan mysql V8.

P粉957723124
P粉957723124

membalas semua(1)
P粉509383150
  • Anda tidak perlu menguji permulaan/akhir rentetan; ini adalah "sempadan perkataan".

  • MySQL 8.0 menggunakan b 作为两个字边界,而不是 [[:<:]][[:>:]]

  • 8.0 memerlukan garis serong ke belakang dua kali ganda dalam beberapa kes.

Ini mungkin berkesan:

REGEXP CONCAT('\b', j.Description, 's?\b')
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan