مەزمۇن جەدۋىلى
نېمىشقا Excel فورمۇلادا دائىملىق ئىپادىلەشنىڭ قوللىمايدىغانلىقىنى چۈشىنەلەمسىز؟ ھازىر ، ئۇلار :) بىزنىڭ خاس ئىقتىدارلىرىمىز ئارقىلىق ، مەلۇم بىر قېلىپقا ماس كېلىدىغان تىزمىلارنى ئاسانلا تاپالايسىز ، ئالماشتۇرالايسىز ، چىقىرىۋېتەلەيسىز ۋە ئۆچۈرەلەيسىز. manipulations. ھىم regular دائىملىق ئىپادىلەرچۇ؟ ئاپلا ، Excel دا قاچىلانغان Regex ئىقتىدارى يوق. ئەمما ھېچكىم ئۆزىمىزنى ئۆزىمىز قۇرالمايمىز دېمەيدۇ :)
دائىملىق ئىپادىلەش دېگەن نېمە؟
دائىملىق ئىپادىلەش (aka regex ياكى regexp ) ئىزدەش ئەندىزىسىنى بەلگىلەيدىغان ھەرپلەرنىڭ ئالاھىدە كودلانغان تەرتىپى. بۇ ئەندىزىنى ئىشلىتىپ ، ھەرپ تىزمىسىدىن ماس كېلىدىغان ھەرپ بىرىكمىسىنى تاپالايسىز ياكى سانلىق مەلۇمات كىرگۈزۈشنى دەلىللىيەلەيسىز. ئەگەر سىز بىر ياۋا كارتا ئىزاھاتىغا پىششىق بولسىڭىز ، regexes نى ياۋايى كارتىنىڭ ئىلغار نۇسخىسى دەپ ئويلىسىڭىز بولىدۇ. مەسىلەن ، [0-5] 0 دىن 5 گىچە بولغان ھەر قانداق رەقەمگە ماس كېلىدۇ.
دائىملىق ئىپادىلەش JavaScript ۋە VBA قاتارلىق نۇرغۇن پروگرامما تىللىرىدا ئىشلىتىلىدۇ. كېيىنكىسىدە ئالاھىدە RegExp ئوبيېكتى بار ، بىز ئۇنى ئىشلىتىپ ئۆزىمىزنىڭ خاس ئىقتىدارلىرىمىزنى يارىتىمىز.
Excel regex نى قوللامدۇ؟
كىشىنى ئەپسۇسلاندۇرىدىغىنى شۇكى ، Excel دا قۇرۇلمىغان Regex ئىقتىدارى يوق. فورمۇلادا دائىملىق ئىپادىلەرنى ئىشلىتەلەيدىغان بولۇش ئۈچۈن ، ئۆزىڭىزنىڭ ئىشلەتكۈچى بەلگىلىگەن ئىقتىدارنى (VBA) قۇرۇشىڭىز كېرەكتالاش-تارتىشلار:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
تېخىمۇ كۆپ فورمۇلا مىساللىرى ئۈچۈن ، تۆۋەندىكى مەزمۇنلارنى كۆرۈڭ:
>> كونكرېت ماسلاشتۇرۇش.RegExpExtract (تېكىست ، ئەندىزە ، [example_num] ، [match_case]) .سىز بۇ ئىقتىدارنىڭ كودىنى بۇ يەردىن تاپالايسىز. بۇنىڭ ئۈچۈن بىز ھەر بىر 7 خانىلىق سانغا ماس كېلىدىغان ئىنتايىن ئاددىي بولغان regex نى ئىشلىتىمىز:
ئەندىزە : \ b \ d {7} \ b
قويۇش A2 دىكى ئەندىزە ، سىز بۇ ئىخچام ۋە نەپىس فورمۇلا بىلەن ئىشنى ئورۇندايسىز:
=RegExpExtract(A5, $A$2)
ئەگەر ئەندىزە ماس كەلسە ، فورمۇلا تالون نومۇرىنى چىقىرىپ بېرىدۇ ، ئەگەر ماس كەلمىسە - ھېچ نەرسە قايتۇرۇلمايدۇ.
تېخىمۇ كۆپ مىساللارنى كۆرۈڭregex نى ئىشلىتىڭ. ، [example_num], [match_case])
قەيەردە: ئەندىزە (تەلەپ قىلىنغان) - ماس كېلىدىغان دائىملىق ئىپادىلەش. (ئىختىيارىي) - ئالماشتۇرۇشنىڭ مىسالى. سۈكۈتتىكىسى «بارلىق ماس كېلىدۇ»> بۇ ئىقتىدارنىڭ كودى بۇ يەردە بار. بۇ ئۇچۇرلار مەخپىي بولۇپ ، ئۇنى بىر نەرسىگە ئالماشتۇرۇپ ياكى پۈتۈنلەي ئۆچۈرمەكچى بولۇشىڭىز مۇمكىن. ھەر ئىككى ۋەزىپىنى RegExpReplace ئىقتىدارىنىڭ ياردىمىدە ئورۇندىغىلى بولىدۇ. قانداق؟ ئىككىنچى خىل ئەھۋالدا ، بىز قۇرۇق ھەرپنىڭ ئورنىنى ئالىمىز. ئۇلارنى تېپىش ئۈچۈن بىز بۇ دائىملىق ئىپادىلەش ئارقىلىق ئەندىزىنى كۆپەيتىمىز:
ئەندىزە : \ b \ d {4} \ d {4} \ d {4} \ d {4} \ b
ئالماشتۇرۇش ئۈچۈن ، تۆۋەندىكى تىزمىلار ئىشلىتىلىدۇ:
ئالماشتۇرۇش : XXXX XXXX XXXXXXXX
بۇ يەردە ئىناۋەتلىك كارتا نومۇرىنى سەزگۈر ئۇچۇرلار بىلەن ئالماشتۇرۇشنىڭ تولۇق فورمۇلاسى بار:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")
ئايرىم كاتەكچىدىكى regex ۋە ئالماشتۇرۇش تېكىستى بىلەن ( A2 ۋە B2) ، فورمۇلا ئوخشاشلا ياخشى ئىشلەيدۇ:
Excel دا «ئېلىۋېتىش» «ئالماشتۇرۇش» نىڭ ئالاھىدە ئەھۋالى. ئىناۋەتلىك كارتا نومۇرىنى ئۆچۈرۈش ئۈچۈن ، ئالماشتۇرۇش تالاش-تارتىشى ئۈچۈن قۇرۇق قۇر ("") نى ئىشلىتىڭ:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
تەكلىپ. نەتىجىدىكى قۇرۇق قۇرلارغا ئېرىشىش ئۈچۈن ، بۇ مىسالدا كۆرسىتىلگەندەك باشقا بىر RegExpReplace ئىقتىدارىنى ئىشلىتەلەيسىز: regex ئارقىلىق قۇرۇق قۇرلارنى قانداق ئۆچۈرۈڭ.
تېخىمۇ كۆپ ئۇچۇرغا ئېرىشمەكچى بولسىڭىز:
- regex ئارقىلىق Excel دىكى تىزمىلارنى قانداق ئالماشتۇرۇش
- regex ئارقىلىق تىزمىلارنى قانداق چىقىرىۋېتىش
- regexes ئارقىلىق ئاق بوشلۇقنى قانداق چىقىرىپ تاشلاش
Regex قورالى ماسلاشتۇرۇش ، ئېلىش ، تارماق پروگراممىلارنى ئالماشتۇرۇش ۋە ئۆچۈرۈش
Ultimate Suite ئىشلەتكۈچىلىرى خىزمەت دەپتىرىگە بىر قۇر كود قىستۇرماي تۇرۇپ دائىملىق ئىپادىلەش كۈچىگە ئېرىشەلەيدۇ. بارلىق زۆرۈر كودلار پروگراممېرلىرىمىز تەرىپىدىن يېزىلغان بولۇپ ، قاچىلاش جەريانىدا Excel دا سىلىقلاشتۇرۇلغان.
Excel دىكى Regex نى قانداق ئىشلىتىش كېرەك :
3>- مەنبە سانلىق مەلۇماتنى تاللاڭ. 24> لازىملىق تاللاشنى تاللاڭ: ماسلاشتۇرۇش ، چىقىرىش ، نى ئۆچۈرۈڭ ياكى ئالماشتۇرۇڭ .
مەسىلەن ، ئىناۋەتلىك كارتا نومۇرىنى كاتەكچىدىن چىقىرىۋېتىش A2: A6 ، بىز بۇ تەڭشەكلەرنى تەڭشەيمىز:
ئۈچ قېتىمدا ، ئەسلىدىكى ئوڭ تەرەپتىكى يېڭى ئىستونغا AblebitsRegex ئىقتىدارى قىستۇرۇلىدۇ. data. بىزنىڭ ئەھۋالىمىزدا ، بۇ فورمۇلا:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
فورمۇلا بولغاندىن كېيىن ، ئۇنى ھەر قانداق يەرلىك فورمۇلاغا ئوخشاش تەھرىرلىيەلەيسىز ، كۆچۈرەلەيسىز ياكى يۆتكىيەلەيسىز.
<<> بۇ يەردە مۇنداق:
- فورمۇلا بالدىقىدىكى fx كۇنۇپكىسىنى ياكى فورمۇلا بەتكۈچىدىكى ئىقتىدار قىستۇرۇش نى بېسىڭ.
- ئىقتىدار قىستۇرۇش سۆزلىشىش رامكىسىدا ، AblebitsUDFs نى تاللاڭ.كاتېگورىيە ، قىزىقىش ئىقتىدارىنى تاللاڭ ۋە «جەزملە» نى چېكىڭ. تاماملاندى!
تېخىمۇ كۆپ ئۇچۇرغا ئېرىشمەكچى بولسىڭىز ، Excel ئۈچۈن Regex قوراللىرىنى كۆرۈڭ. ئوقۇغانلىقىڭىزغا رەھمەت ، كېلەر ھەپتە بىلوگىمىزدا كۆرۈشنى ئۈمىد قىلىمەن!
ئىشلەتكىلى بولىدىغان چۈشۈرۈش
Excel Regex - فورمۇلا مىساللىرى (.xlsm ھۆججىتى) سىناق نۇسخىسى (.exe ھۆججىتى)
ياكى .NET نى ئاساس قىلغان) ياكى regexes نى قوللايدىغان ئۈچىنچى تەرەپ قوراللىرىنى قاچىلاڭ. بۇ دەرسلىك سىزگە دائىملىق ئىپادىلەشنى ئۆگىتىشنى مەقسەت قىلمايدۇ. بۇنىڭ ئۈچۈن ، يېڭى ئۆگەنگۈچىلەر ئۈچۈن ھەقسىز دەرسلىكتىن تارتىپ ، ئىلغار ئىشلەتكۈچىلەر ئۈچۈن ئالىي دەرسلىكلەرگىچە توردا نۇرغۇن مەنبەلەر بار. تېخىمۇ كۆپ مىساللارنى ئۆگەنگەندە ئۇ سىزنىڭ ئالدامچىلىق جەدۋىلىڭىز بولۇشى مۇمكىن. بەزى ھەرپلەرگە ماس كېلىدىغان ئەڭ كۆپ قوللىنىلىدىغان ئەندىزە.ئەندىزە | چۈشەندۈرۈش | مىسال | |
. قىزىق ، قازان ، @ot | |||
\ d | رەقەم ھەرپ: ھەر قانداق رەقەم 0 دىن 9 | \ d | a1b دە ، 1 |
\ D | رەقەم بولمىغان ھەر قانداق ھەرپ | \ D | a1b دە ، a ۋە b |
\ s | بوشلۇق بوشلۇقى: بوشلۇق ، بەتكۈچ ، يېڭى لىنىيە ۋە ۋاگون قايتۇرۇش | . 3 سېنت ، ماس 3 c | |
\ S | ھەر قانداقبوشلۇق بوشلۇقى بولمىغان ھەرپ | \ S + | 30 سېنت دە ، 30 ۋە سىنت |
\ w | سۆز خاراكتېرى: ھەر قانداق ASCII ھەرپ ، رەقەم ياكى ئاستى سىزىق | \ w + | 5_ مۈشۈك *** ، ماس كېلىدۇ 5_ مۈشۈكئېيىق 14> 5_ مۈشۈك *** دە ، *** |
\ t | بەتكۈچ | ||
\ n | يېڭى قۇر | \ n \ d + | ئىككى قۇر تۆۋەندىكى تىز ، 10 5 مۈشۈككە ماس كېلىدۇ 10 ئىت |
\ | ئۇنى ئىزدەڭ. \. \ w + \. | ھەرپتىكى ھەرپ
ھەرپلەر سىنىپى
بۇ ئەندىزىلەرنى ئىشلىتىپ ، ئوخشىمىغان ھەرپ-بەلگىلەرنىڭ ئېلېمېنتلىرىنى ماسلاشتۇرالايسىز.
ئەندىزە | چۈشەندۈرۈش | مىسال | ماس كېلىدۇ |
[ھەرپلەر] | تىرناق ئىچىدىكى ھەر قانداق ھەرپكە ماس كېلىدۇ> | ئىت ۋە كولاش | |
[^ ھەرپلەر] | 15>d [^ oi] g | ماسلاشتۇرۇلغان داغ ، كولانغان ، d1g ئىت ۋە قېزىش | |
[دىن - 15] | تىرناق [0-9] [a-z] [A-Z] |
مىقدارلاشتۇرغۇچ
مىقدارلاشتۇرغۇچ ماس كېلىدىغان ھەرپلەرنىڭ سانىنى بەلگىلەيدىغان ئالاھىدە ئىپادىلەش ئۇسۇلى. مىقدارلاشتۇرغۇچ ھەمىشە ئۇنىڭ ئالدىدىكى ھەرپكە ماس كېلىدۇ.
ئۈلگە | چۈشەندۈرۈش | مىسال | ||
* | نۆل ياكى ئۇنىڭدىنمۇ كۆپ يۈز بېرىش | 1a * | 1, 1a , 1aa, 1aa قاتارلىقلار | |
+ | بىر ياكى بىر قانچە قېتىم يۈز بەرگەن | ، ماس كېلىدۇ po|||
?> نۆل ياكى بىر ھادىسە | roa? D | يول ، تاياق | ||
*? | نۆل ياكى تېخىمۇ كۆپ يۈز بېرىدىغان ئىشلار ، ئەمما ئىمكانقەدەر ئاز | 1a *? | 1a ، 1aa ۋە 1aaa ، ماس كېلىدۇ 1a | |
+? | بىر ياكى بىر قانچە قېتىم يۈز بەرگەن ، ئەمما ئىمكانقەدەر ئاز بولغان | po +?> قازان ۋە كەمبەغەل دە ، po | ||
?? | نۆل ياكى بىر قېتىم يۈز بېرىدۇ ، ئەمما ئىمكانقەدەر ئاز | roa ?? | يولدا ۋە تاياق ، ro | |
{n} | ئالدىنقى ئەندىزە n قېتىمغا ماس كېلىدۇ | \ d {3} | ئېنىق 3 خانىلىق | |
{n ،} | ئالدىنقى ئەندىزە n ياكى ئۇنىڭدىن كۆپ قېتىم ماس كېلىدۇ {n, m} | ماس كېلىدۇn بىلەن m ۋاقىت ئارىلىقىدىكى ئالدىنقى ئەندىزە | \ d {3,5} | 3 دىن 5 خانىغىچە |
گۇرۇپپىلاش
گۇرۇپپىلاش قۇرۇلمىسى مەنبە تىزمىسىدىن تارماق بۆلەكنى تارتىش ئۈچۈن ئىشلىتىلىدۇ ، شۇڭا سىز ئۇنىڭ بىلەن بەزى مەشغۇلاتلارنى قىلالايسىز.
گرامماتىكىسى | چۈشەندۈرۈش | مىسال | ماسلاشتۇرۇش |
(ئەندىزە) 14> (\ d +) | 5 مۈشۈك ۋە 10 ئىت دە ، 5 (1-گۇرۇپپا) ۋە 10 (2-گۇرۇپپا) | ||
(?: ئەندىزە) | تۇتۇلمىغان گۇرۇپپا: بىر گۇرۇپپىغا ماس كېلىدۇ ، ئەمما ئۇنى تۇتمايدۇ | 5 مۈشۈك ۋە 10 ئىت ، 10 | |
\ 1 | گۇرۇپپا مەزمۇنى 1 | (\ d +) \ + (\ d +) = \ 2 \ + \ 1 | 5 + 10 = 10 + 5 ماس كېلىدۇ ۋە 5 ۋە 10 گۇرۇپپىلارنى ئىگىلەيدىغان |
\ 2 | 2-گۇرۇپپىنىڭ مەزمۇنى |
لەڭگەرلەر
لەڭگەرلەر كىرگۈزۈش تىزمىسىدىكى ئورۇننى بەلگىلەيدۇ. ماس.
لەڭگەر | چۈشەندۈرۈش | مىسال | مۇسابىقە 14> ^ | ھەرپ تىزمىسىنىڭ باشلىنىشى ئەسكەرتىش: [^ تىرناق ئىچىدىكى]] «ئەمەس» مەنىسىنى بىلدۈرىدۇ | قۇرنىڭ باشلىنىشى. \ d + $ | قۇرنىڭ ئاخىرىدىكى ھەر قانداق سان. 10Y |
(? & Lt; =) | ئاكتىپ قاراش | (? & Lt; ئۇنىڭ ئالدىدا Y (يەنى X نىڭ ئارقىسىدا Y بولسا) | ||
(? | سەلبىي قاراش | (? <) 14> X نىڭ ئىپادىسىنى Y |
نىڭ ئالدىدا قويمىغان ۋاقىتتا ماسلاشتۇرىدۇ. سىزىقلارنى تەھلىل قىلىش ۋە لازىملىق ئۇچۇرلارنى تېپىش ئۈچۈن ھەقىقىي سانلىق مەلۇماتقا ماس كېلىدۇ. ئەگەر گرامماتىكىغا مۇناسىۋەتلىك تېخىمۇ كۆپ تەپسىلاتلارغا ئېھتىياجلىق بولسىڭىز ، Microsoft نىڭ دائىملىق ئىپادىلەش تىلى قوللانمىسى پايدىلىق بولۇشى مۇمكىن.
Excel
ئۈچۈن Custom RegEx ئىقتىدارى. يۇقىرىدا دېيىلگەندەك ، Microsoft Excel نىڭ ئىچىگە RegEx ئىقتىدارى يوق. دائىملىق ئىپادىلەشنى قوزغىتىش ئۈچۈن ، بىز ئۈچ خىل خاسلاشتۇرۇلغان VBA ئىقتىدارىنى قۇردۇق (يەنى ئىشلەتكۈچى بەلگىلىگەن ئىقتىدار). كودلارنى تۆۋەندىكى ئۇلانغان بەتلەردىن ياكى بىزنىڭ ئەۋرىشكىمىزدىن كۆچۈرەلەيسىز. خىزمەت دەپتىرى ، ئاندىن ئۆزىڭىزنىڭ Excel ھۆججىتىگە چاپلاڭ.
VBA RegExp نىڭ ئىقتىدارى قانداق ئىشلەيدۇ ئارقا سەھنىدە نېمە ئىش يۈز بېرىدىغانلىقىنى ئېنىق بىلمەكچى بولغانلارغا قىزىقىش.
VBA دا دائىملىق ئىپادىلەشنى ئىشلىتىشنى باشلاش ئۈچۈن ، سىز RegEx ئوبيېكت پايدىلىنىش ئامبىرىنى قوزغىتىشىڭىز ياكى CreateObject ئىقتىدارىنى ئىشلىتىشىڭىز كېرەك. پايدىلىنىشنى VBA تەھرىرلىگۈچتە تەڭشەش ئاۋارىچىلىكىدىن قۇتۇلۇش ئۈچۈن ، بىز كېيىنكى ئۇسۇلنى تاللىدۇق.
RegExp ئوبيېكتىنىڭ 4 خۇسۇسىيىتى بار:
- ئۈلگە - is ئەندىزە كىرگۈزۈش تىزمىسىغا ماس كېلىدۇ. بىزنىڭ فۇنكىسىيەمىزدە ، بارلىق مۇسابىقىلەر گە ئېرىشىش ئۈچۈن True قىلىپ تەڭشەلدى. بىرىنچى قۇر. كودلىرىمىزدا ھەر بىر قۇردا نى ئىزدەش True غا تەڭشەلدى. سەزگۈر ئەمەس (True غا تەڭشەلدى). بىزنىڭ ئەھۋالدا ، بۇ سىزنىڭ ئىختىيارى match_case پارامېتىرنى قانداق تەڭشىشىڭىزگە باغلىق. سۈكۈتتىكى ھالەتتە ، بارلىق ئىقتىدارلار چوڭ-كىچىك سەزگۈر . .NET ، Perl ، Java ۋە باشقا regex ماتورلىرىدا بار. مەسىلەن ، VBA RegExp ئەھۋالغا ماس كەلمەيدىغان ماسلاشتۇرۇش ئۈچۈن (? I) ياكى كۆپ لىنىيىلىك ھالەت ، كۆرۈنۈش پەردىسى ، POSIX سىنىپلىرى ئۈچۈن (? M) قاتارلىق ئىچكى ئۆزگەرتكۈچلەرنى قوللىمايدۇ.
Excel Regex ماسلاشتۇرۇش ئىقتىدارى
RegExpMatch فۇنكسىيەسى دائىملىق ئىپادىگە ماس كېلىدىغان تېكىستنى ئىزدەيدۇ ھەمدە ماس تېپىلسا TRUE نى قايتۇرىدۇ ، بولمىسا يالغان.
RegExpMatch (تېكىست ، ئەندىزە ، [ match_case])قەيەردە: required) - the regularماس كېلىدىغان ئىپادىلەش.
- Match_case (ئىختىيارىي) - مۇسابىقە تىپى. راست ياكى ئەمەلدىن قالدۇرۇلدى - دېلوغا سەزگۈر يالغان - ئەھۋالغا سەزگۈر بولمىغان
ئىقتىدارنىڭ كودى بۇ يەردە. SKU كودىنى ئۆز ئىچىگە ئالغان تۈرلەرنى ئېنىقلاش. 1> ئەندىزە: A } 0 دىن 9 گىچە بولغان ھەر قانداق 4 خانىنى كۆرسىتىدۇ. بىر سۆز چېگراسى \ b SKU نىڭ ئايرىم سۆز ئىكەنلىكىنى ۋە چوڭراق تىزمىنىڭ بىر قىسمى ئەمەسلىكىنى كۆرسىتىدۇ. ، ۋە ئىقتىدارنىڭ ئىسمى Excel نىڭ AutoComplete تەۋسىيە قىلغان تىزىملىكتە كۆرۈنىدۇ:
ئەسلى تىزمىنى A5 دەپ پەرەز قىلساق ، فورمۇلا تۆۋەندىكىچە:
=RegExpMatch(A5, $A$2)
قۇلايلىق بولۇش ئۈچۈن ، دائىملىق ئىپادىنى ئايرىم كاتەكچىگە كىرگۈزەلەيسىز ۋە ئەندىزە تالاش-تارتىش ئۈچۈن مۇتلەق پايدىلانما ($ A $ 2) نى ئىشلىتەلەيسىز. t. بۇ فورمۇلانى باشقا كاتەكچىلەرگە كۆچۈرگەندە كاتەكچە ئادرېسىنىڭ ئۆزگەرمەسلىكىگە كاپالەتلىك قىلىدۇ:
=RegExpMatch(A5, $A$2)
TRUE ۋە FALSE نىڭ ئورنىغا ئۆزىڭىزنىڭ تېكىست بەلگىسىنى كۆرسىتىش ئۈچۈن ، IF فۇنكىسىيەسىدىكى RegExpMatch ئۇۋىسى ۋە value_if_true ۋە value_if_false دىكى لازىملىق تېكىستلەرنى بەلگىلەڭ.قوشۇمچە 5 بولسا 15 ، 15
تاللاش (OR) قۇرۇش
ئالمىشىش مەشغۇلاتى OR لوگىكىسىنى قوزغىتىدۇ ، شۇڭا سىز بۇ ياكى ئۇ ئېلېمېنتنى ماسلاشتۇرالايسىز.
14> چۈشەندۈرۈش