ສາລະບານ
ບໍ່ສາມາດເຂົ້າໃຈໄດ້ວ່າເປັນຫຍັງການສະແດງອອກປົກກະຕິບໍ່ຖືກຮອງຮັບໃນສູດ Excel? ດຽວນີ້, ພວກມັນແມ່ນ :) ດ້ວຍຟັງຊັນທີ່ກຳນົດເອງຂອງພວກເຮົາ, ທ່ານສາມາດຊອກຫາ, ແທນທີ່, ສະກັດ ແລະເອົາສະຕຣິງທີ່ກົງກັບຮູບແບບສະເພາະໄດ້ຢ່າງງ່າຍດາຍ.
ໃນຕອນທຳອິດ, Excel ມີທຸກຢ່າງທີ່ເຈົ້າຕ້ອງການສຳລັບຂໍ້ຄວາມສະຕຣິງ. ການຫມູນໃຊ້. ຮືມ… ແລ້ວສຳນວນປົກກະຕິເດ? ອຸຍ, ບໍ່ມີຟັງຊັນ Regex ໃນ Excel. ແຕ່ບໍ່ມີໃຜເວົ້າວ່າພວກເຮົາບໍ່ສາມາດສ້າງຕົວເຮົາເອງໄດ້ :)
ການສະແດງອອກປົກກະຕິແມ່ນຫຍັງ?
ການສະແດງອອກປົກກະຕິ (aka regex ຫຼື regexp ) ເປັນລໍາດັບທີ່ເຂົ້າລະຫັດສະເພາະຂອງຕົວອັກສອນທີ່ກຳນົດຮູບແບບການຊອກຫາ. ການນໍາໃຊ້ຮູບແບບນັ້ນ, ທ່ານສາມາດຊອກຫາການປະສົມຕົວອັກສອນທີ່ສອດຄ້ອງກັນໃນສະຕຣິງຫຼືການກວດສອບການປ້ອນຂໍ້ມູນ. ຖ້າທ່ານຄຸ້ນເຄີຍກັບໝາຍເຫດຂອງ wildcard, ທ່ານສາມາດຄິດເຖິງ regexes ເປັນ wildcards ຮຸ່ນຂັ້ນສູງໄດ້.
ສຳນວນປົກກະຕິມີ syntax ຂອງຕົນເອງເຊິ່ງປະກອບດ້ວຍຕົວອັກສອນພິເສດ, operators ແລະ constructs. ຕົວຢ່າງ, [0-5] ກົງກັບຕົວເລກດຽວຈາກ 0 ຫາ 5.
ການສະແດງອອກປົກກະຕິແມ່ນໃຊ້ໃນຫຼາຍພາສາການຂຽນໂປຼແກຼມລວມທັງ JavaScript ແລະ VBA. ອັນສຸດທ້າຍມີວັດຖຸ RegExp ພິເສດ, ເຊິ່ງພວກເຮົາຈະໃຊ້ເພື່ອສ້າງຫນ້າທີ່ກໍານົດເອງຂອງພວກເຮົາ.
Excel ສະຫນັບສະຫນູນ regex ບໍ?
ເສຍໃຈ, ບໍ່ມີຟັງຊັນ Regex inbuilt ໃນ Excel. ເພື່ອຈະສາມາດນໍາໃຊ້ສະແດງອອກເປັນປົກກະຕິໃນສູດຂອງທ່ານ, ທ່ານຈະຕ້ອງໄດ້ສ້າງຫນ້າທີ່ກໍານົດໂດຍຜູ້ໃຊ້ຂອງທ່ານເອງ (VBAarguments:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
ສຳລັບຕົວຢ່າງສູດຄຳນວນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງ:
- ວິທີຈັບຄູ່ສະຕຣິງໂດຍໃຊ້ສຳນວນປົກກະຕິ
- ການກວດສອບຂໍ້ມູນ Excel ກັບ regexes
ຟັງຊັນ Excel Regex Extract
ຟັງຊັນ RegExpExtract ຄົ້ນຫາສະຕຣິງຍ່ອຍທີ່ກົງກັບການສະແດງຜົນປົກກະຕິ ແລະສະກັດຂໍ້ມູນທີ່ກົງກັນທັງໝົດ ຫຼື ກົງກັນສະເພາະ.
RegExpExtract(ຂໍ້ຄວາມ, ຮູບແບບ, [instance_num], [match_case])ຢູ່ໃສ:
- ຂໍ້ຄວາມ (ຕ້ອງການ) - ຂໍ້ຄວາມທີ່ຕ້ອງຊອກຫາ in.
- Pattern (ຕ້ອງການ) - ການສະແດງຜົນປົກກະຕິທີ່ຈະກົງກັນ.
- Instance_num (ທາງເລືອກ) - ໝາຍເລກຊີຣຽວທີ່ຊີ້ບອກເຖິງວ່າ instance ໃດ. ສານສະກັດຈາກ. ຖ້າຖືກລະເວັ້ນ, ສົ່ງຄືນຂໍ້ມູນທີ່ກົງກັນທັງໝົດ (ຄ່າເລີ່ມຕົ້ນ).
- Match_case (ທາງເລືອກ) - ກຳນົດວ່າຈະກົງກັນ (TRUE ຫຼື oected) ຫຼື ignore (FALSE).
ທ່ານສາມາດເອົາລະຫັດຂອງຟັງຊັນໄດ້ທີ່ນີ້.
ຕົວຢ່າງ: ວິທີແຍກສະຕຣິງໂດຍໃຊ້ການສະແດງຜົນປົກກະຕິ
ຍົກຕົວຢ່າງຂອງພວກເຮົາຕື່ມອີກໜ້ອຍໜຶ່ງ, ໃຫ້ເຮົາແຍກຕົວເລກໃບແຈ້ງໜີ້. ສໍາລັບນີ້, ພວກເຮົາຈະໃຊ້ regex ງ່າຍດາຍຫຼາຍທີ່ກົງກັບຕົວເລກ 7 ຕົວເລກ:
ຮູບແບບ : \b\d{7}\b
Put ຮູບແບບໃນ A2 ແລະທ່ານຈະໄດ້ຮັບວຽກເຮັດດ້ວຍສູດທີ່ຫນາແຫນ້ນແລະສະຫງ່າງາມນີ້:
=RegExpExtract(A5, $A$2)
ຖ້າຮູບແບບຖືກຈັບຄູ່, ສູດຈະສະກັດຕົວເລກໃບແຈ້ງຫນີ້, ຖ້າບໍ່ພົບການຈັບຄູ່. - ບໍ່ມີຫຍັງກັບຄືນມາ.
ສຳລັບຕົວຢ່າງເພີ່ມເຕີມ, ກະລຸນາເບິ່ງ: ວິທີການແຍກສະຕຣິງໃນ Excelໂດຍໃຊ້ regex.
ຟັງຊັນ Excel Regex Replace
ຟັງຊັນ RegExpReplace ແທນຄ່າທີ່ກົງກັບ regex ກັບຂໍ້ຄວາມທີ່ທ່ານລະບຸ.
RegExpReplace(ຂໍ້ຄວາມ, ຮູບແບບ, ການທົດແທນ. , [instance_num], [match_case])Where:
- Text (ຕ້ອງການ) - ຂໍ້ຄວາມທີ່ຕ້ອງຊອກຫາໃນ.
- ຮູບແບບ (ຕ້ອງການ) - ການສະແດງຜົນປົກກະຕິເພື່ອຈັບຄູ່.
- ການປ່ຽນແທນ (ຕ້ອງການ) - ຂໍ້ຄວາມເພື່ອແທນທີ່ສະຕຣິງຍ່ອຍທີ່ກົງກັນກັບ.
- Instance_num (ທາງເລືອກ) - ຕົວຢ່າງທີ່ຈະປ່ຽນແທນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ກົງກັນທັງໝົດ".
- Match_case (ທາງເລືອກ) - ຄວບຄຸມວ່າຈະກົງກັນ (TRUE ຫຼື omitted) ຫຼື ignore (FALSE) case text.
ລະຫັດຂອງຟັງຊັນແມ່ນມີຢູ່ບ່ອນນີ້.
ຕົວຢ່າງ: ວິທີການປ່ຽນ ຫຼືລຶບສະຕຣິງໂດຍໃຊ້ regexes
ບາງບັນທຶກຂອງພວກເຮົາມີໝາຍເລກບັດເຄຣດິດ. ຂໍ້ມູນນີ້ເປັນຄວາມລັບ, ແລະທ່ານອາດຈະຕ້ອງການປ່ຽນມັນດ້ວຍບາງສິ່ງບາງຢ່າງຫຼືລຶບທັງຫມົດ. ທັງສອງໜ້າວຽກສາມາດສຳເລັດໄດ້ດ້ວຍການຊ່ວຍເຫຼືອຂອງຟັງຊັນ RegExpReplace . ແນວໃດ? ໃນສະຖານະການທີສອງ, ພວກເຮົາຈະປ່ຽນແທນດ້ວຍສະຕຣິງຫວ່າງເປົ່າ.
ໃນຕາຕະລາງຕົວຢ່າງຂອງພວກເຮົາ, ໝາຍເລກບັດທັງໝົດມີ 16 ຕົວເລກ, ເຊິ່ງຂຽນເປັນ 4 ກຸ່ມທີ່ແຍກກັນດ້ວຍຍະຫວ່າງ. ເພື່ອຊອກຫາພວກມັນ, ພວກເຮົາເຮັດເລື້ມຄືນຮູບແບບໂດຍໃຊ້ການສະແດງປົກກະຕິນີ້:
ຮູບແບບ : \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", "")
<3
ເຄັດລັບ. ເພື່ອໃຫ້ໄດ້ຮັບການເຈາະເສັ້ນຫວ່າງຢູ່ໃນຜົນໄດ້ຮັບ, ທ່ານສາມາດນໍາໃຊ້ຟັງຊັນ RegExpReplace ອື່ນຕາມທີ່ສະແດງຢູ່ໃນຕົວຢ່າງນີ້: ວິທີການເອົາເສັ້ນຫວ່າງເປົ່າໂດຍໃຊ້ regex.
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງ:
- ວິທີປ່ຽນສະຕຣິງໃນ Excel ໂດຍໃຊ້ regex
- ວິທີລຶບສະຕຣິງອອກໂດຍໃຊ້ regex
- ວິທີຖອດຊ່ອງຫວ່າງອອກໂດຍໃຊ້ regexes
ເຄື່ອງມື Regex ເພື່ອຈັບຄູ່, ແຍກອອກ , ແທນທີ່ ແລະເອົາສາຍຍ່ອຍອອກ
ຜູ້ໃຊ້ Ultimate Suite ຂອງພວກເຮົາສາມາດໄດ້ຮັບພະລັງທັງໝົດຂອງການສະແດງຜົນປົກກະຕິໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດເສັ້ນດຽວໃນປຶ້ມວຽກຂອງເຂົາເຈົ້າ. ລະຫັດທີ່ຈໍາເປັນທັງໝົດແມ່ນຂຽນໂດຍຜູ້ພັດທະນາຂອງພວກເຮົາ ແລະປະສົມປະສານເຂົ້າກັນໃນ Excel ຂອງທ່ານໃນລະຫວ່າງການຕິດຕັ້ງ.
ບໍ່ຄືກັບຟັງຊັນ VBA ທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, ຟັງຊັນຂອງ Ultimate Suite ແມ່ນອີງໃສ່ .NET ເຊິ່ງໃຫ້ຂໍ້ດີຫຼັກສອງຢ່າງ:
- ທ່ານສາມາດໃຊ້ການສະແດງອອກແບບປົກກະຕິໃນປຶ້ມວຽກ .xlsx ປົກກະຕິໂດຍບໍ່ຕ້ອງເພີ່ມລະຫັດ VBA ໃດໆ ແລະຕ້ອງບັນທຶກພວກມັນເປັນໄຟລ໌ທີ່ເປີດໃຊ້ Macro.
- .NET Regex engine ຮອງຮັບແບບຄລາດສິກແບບເຕັມຮູບແບບ.ການສະແດງອອກປົກກະຕິ, ເຊິ່ງຊ່ວຍໃຫ້ທ່ານສ້າງຮູບແບບທີ່ຊັບຊ້ອນຫຼາຍ.
ວິທີໃຊ້ Regex ໃນ Excel
ດ້ວຍການຕິດຕັ້ງ Ultimate Suite, ການໃຊ້ການສະແດງອອກປົກກະຕິໃນ Excel ແມ່ນງ່າຍດາຍຄືກັບສອງຂັ້ນຕອນນີ້. :
- ໃນແຖບ Ablebits Data , ໃນກຸ່ມ Text , ຄລິກ Regex Tools .
- ຢູ່ໃນແຖບ Regex Tools , ໃຫ້ເຮັດສິ່ງຕໍ່ໄປນີ້:
- ເລືອກແຫຼ່ງຂໍ້ມູນ.
- ໃສ່ຮູບແບບ regex ຂອງທ່ານ.
- ເລືອກຕົວເລືອກທີ່ຕ້ອງການ: ຈັບຄູ່ , Extract , Remove ຫຼື ແທນທີ່ .
- ເພື່ອໃຫ້ໄດ້ຜົນເປັນ ສູດ ແລະ ບໍ່ແມ່ນຄ່າ, ເລືອກກ່ອງໝາຍ ໃສ່ເປັນສູດ .
- ກົດປຸ່ມປະຕິບັດ.
ຕົວຢ່າງ, ເພື່ອເອົາເລກບັດເຄຣດິດອອກຈາກຕາລາງ. A2:A6, ພວກເຮົາຕັ້ງຄ່າການຕັ້ງຄ່າເຫຼົ່ານີ້:
ໃນບາງເທື່ອ, ຟັງຊັນ AbblebitsRegex ຈະຖືກໃສ່ໃນຖັນໃໝ່ທາງຂວາຂອງຕົ້ນສະບັບຂອງທ່ານ. ຂໍ້ມູນ. ໃນກໍລະນີຂອງພວກເຮົາ, ສູດຄຳນວນແມ່ນ:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
ເມື່ອມີສູດແລ້ວ, ທ່ານສາມາດແກ້ໄຂ, ສຳເນົາ ຫຼື ຍ້າຍມັນໄດ້ຄືກັບສູດຕົ້ນສະບັບໃດໆກໍຕາມ.
ວິທີໃສ່ສູດ Regex ໂດຍກົງໃນເຊລ
ຟັງຊັນ AblebitsRegex ຍັງສາມາດໃສ່ໃນເຊລໄດ້ໂດຍກົງໂດຍບໍ່ຕ້ອງໃຊ້ສ່ວນຕິດຕໍ່ຂອງສ່ວນເສີມ. ນີ້ແມ່ນວິທີ:
- ຄລິກທີ່ປຸ່ມ fx ໃນແຖບສູດ ຫຼື ໃສ່ຟັງຊັນ ຢູ່ໃນແຖບ ສູດ .
- ໃນກ່ອງໂຕ້ຕອບ Insert Function , ເລືອກ AblebitsUDFs ໝວດໝູ່, ເລືອກຟັງຊັນທີ່ສົນໃຈ, ແລະຄລິກຕົກລົງ.
- ກຳນົດອາກິວເມັນຂອງຟັງຊັນຄືກັບທີ່ເຈົ້າເຮັດຕາມປົກກະຕິ ແລະຄລິກຕົກລົງ. ສຳເລັດແລ້ວ!
ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງ Regex Tools for Excel.
ນັ້ນແມ່ນວິທີໃຊ້ສຳນວນປົກກະຕິເພື່ອຈັບຄູ່, ແຍກ, ແທນທີ່ ແລະລຶບຂໍ້ຄວາມໃນຕາລາງ Excel. ຂ້າພະເຈົ້າຂໍຂອບໃຈທ່ານສໍາລັບການອ່ານແລະຫວັງວ່າຈະໄດ້ພົບທ່ານໃນ blog ຂອງພວກເຮົາໃນອາທິດຫນ້າ! ລຸ້ນທົດລອງ (ໄຟລ໌ .exe)
ຫຼື .NET based) ຫຼືຕິດຕັ້ງເຄື່ອງມືພາກສ່ວນທີສາມທີ່ຮອງຮັບ regexes.Excel Regex cheat sheet
ບໍ່ວ່າຮູບແບບ regex ແມ່ນງ່າຍດາຍຫຼາຍ ຫຼືມີຄວາມຊັບຊ້ອນທີ່ສຸດ, ມັນຖືກສ້າງຂຶ້ນໂດຍໃຊ້ syntax ທົ່ວໄປ. ການສອນນີ້ບໍ່ໄດ້ຕັ້ງໃຈທີ່ຈະສອນທ່ານສໍານວນປົກກະຕິ. ສໍາລັບການນີ້, ມີຊັບພະຍາກອນຈໍານວນຫລາຍອອນໄລນ໌, ຕັ້ງແຕ່ການສອນຟຣີສໍາລັບຜູ້ເລີ່ມຕົ້ນຈົນເຖິງຫຼັກສູດທີ່ນິຍົມສໍາລັບຜູ້ໃຊ້ຂັ້ນສູງ.
ຂ້າງລຸ່ມນີ້ພວກເຮົາສະຫນອງການອ້າງອີງໄວກັບຮູບແບບ RegEx ຕົ້ນຕໍທີ່ຈະຊ່ວຍໃຫ້ທ່ານເຂົ້າໃຈພື້ນຖານໄດ້. ມັນຍັງອາດຈະເຮັດວຽກເປັນແຜ່ນ cheat ຂອງທ່ານໃນເວລາທີ່ສຶກສາຕົວຢ່າງເພີ່ມເຕີມ.
ຖ້າທ່ານສະດວກສະບາຍກັບການສະແດງອອກປົກກະຕິ, ທ່ານສາມາດໄປຫາຟັງຊັນ RegExp ໂດຍກົງ.
ຕົວອັກສອນ
ເຫຼົ່ານີ້. ແມ່ນຮູບແບບທີ່ໃຊ້ເລື້ອຍໆທີ່ສຸດເພື່ອໃຫ້ກົງກັບຕົວອັກສອນສະເພາະ.
ຮູບແບບ | ລາຍລະອຽດ | ຕົວຢ່າງ | ການຈັບຄູ່ | <16
. | ຕົວໜັງສືແທນຕົວ: ກົງກັບຕົວອັກສອນໃດນຶ່ງ ຍົກເວັ້ນຕົວແບ່ງແຖວ | .ot | dot , hot , pot , @ot |
\d | ໂຕເລກ: ຕົວເລກດຽວ ຈາກ 0 ຫາ 9 | \d | ໃນ a1b , ກົງກັນ 1 |
\D | ຕົວອັກສອນໃດໆກໍຕາມທີ່ບໍ່ແມ່ນຕົວເລກ | \D | ໃນ a1b , ກົງກັບ a ແລະ b<2 |
\s | ຕົວອັກສອນຊ່ອງຫວ່າງ: ຍະຫວ່າງ, ແຖບ, ແຖວໃໝ່ ແລະການສົ່ງຄືນຕົວລົດ | .\s. | ໃນ 3 ເຊັນ , ກົງກັບ 3 c |
\S | ອັນໃດກໍໄດ້ຕົວອັກສອນທີ່ບໍ່ແມ່ນຊ່ອງຫວ່າງ | \S+ | ໃນ 30 ເຊັນ , ກົງກັບ 30 ແລະ ເຊັນ |
\w | ຕົວອັກສອນຂອງຄໍາສັບຕ່າງໆ: ຕົວອັກສອນ ASCII ໃດຫນຶ່ງ, ຕົວເລກຫຼື underscore | \w+ | ໃນ 5_cats*** , ກົງກັບ 5_cats |
\W | ຕົວອັກສອນໃດໆກໍຕາມທີ່ບໍ່ແມ່ນຕົວອັກສອນທີ່ເປັນຕົວເລກ ແລະ ຕົວເລກ ຫຼື ຂີດກ້ອງ | \W+ | ໃນ 5_cats*** , ກົງກັນ *** |
\t | Tab | <14||
\n | ແຖວໃໝ່ | \n\d+ | ໃນສອງແຖວ string ຂ້າງລຸ່ມນີ້, ກົງກັບ 10 5 cats 10 dogs |
\ | Escapes ຄວາມຫມາຍພິເສດຂອງຕົວລະຄອນ, ດັ່ງນັ້ນທ່ານສາມາດ ຊອກຫາມັນ | \. \w+\. | Escapes ໄລຍະຫນຶ່ງເພື່ອໃຫ້ທ່ານສາມາດຊອກຫາຕົວຫນັງສື "." ຕົວອັກສອນໃນສະຕຣິງ Mr. , Mrs. , Prof. |
ຫ້ອງຮຽນຕົວອັກສອນ
ໂດຍໃຊ້ຮູບແບບເຫຼົ່ານີ້, ທ່ານສາມາດຈັບຄູ່ອົງປະກອບຂອງຊຸດຕົວອັກສອນຕ່າງໆໄດ້.
ຮູບແບບ | ລາຍລະອຽດ | ຕົວຢ່າງ | ຈັບຄູ່ |
[ຕົວອັກສອນ] | ກົງກັບຕົວອັກສອນໃດນຶ່ງໃນວົງເລັບ | d[oi]g<15 | dog ແລະ dig |
[^characters] | ກົງກັບຕົວອັກສອນດຽວທີ່ບໍ່ຢູ່ໃນວົງເລັບ | d[^oi]g | ກົງກັນ dag, dug , d1g ບໍ່ກົງກັບ dog ແລະ dig |
[from–to] | ຈັບຄູ່ຕົວອັກສອນໃດນຶ່ງໃນຂອບເຂດລະຫວ່າງວົງເລັບ | [0-9] [a-z] [A-Z] | ໂຕເລກໃດກໍໄດ້ຈາກ 0 ຫາ 9 ຕົວພິມນ້ອຍດຽວ ຕົວພິມໃຫຍ່ອັນໃດກໍໄດ້ |
ຕົວພິມໃຫຍ່
ຕົວພິມໃຫຍ່ແມ່ນຕົວສະແດງພິເສດທີ່ລະບຸຈຳນວນຕົວອັກສອນທີ່ກົງກັນ. A quantifier ສະເຫມີໃຊ້ກັບຕົວອັກສອນກ່ອນມັນ.
ຮູບແບບ | ລາຍລະອຽດ | ຕົວຢ່າງ | ກົງກັນ |
* | ສູນ ຫຼືຫຼາຍກວ່ານັ້ນເກີດຂຶ້ນ | 1a* | 1, 1a , 1aa, 1aaa , ແລະອື່ນໆ. |
+ | ໜຶ່ງ ຫຼື ຫຼາຍການປະກົດຕົວ | po+ | ໃນ pot , ກົງກັບ po ໃນ ບໍ່ດີ , ກົງກັບ poo |
? | ສູນ ຫຼືໜຶ່ງເຫດການ | roa?d | ຖະໜົນ, rod |
*? | ສູນ ຫຼືຫຼາຍກວ່ານັ້ນ, ແຕ່ໜ້ອຍທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ | 1a*? | ໃນ 1a , 1aa ແລະ 1aaa , ກົງກັນ 1a |
+? | ໜຶ່ງ ຫຼື ຫຼາຍຄັ້ງ, ແຕ່ໜ້ອຍທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ | po+? | ໃນ pot ແລະ ທຸກຍາກ , ກົງກັນ po |
?? | ສູນ ຫຼື ເກີດຂຶ້ນໜຶ່ງ , ແຕ່ໜ້ອຍທີ່ສຸດເທົ່າທີ່ເປັນໄປໄດ້ | roa?? | ໃນ ຖະໜົນ ແລະ rod , ກົງກັບ ro |
{n} | ກົງກັບຮູບແບບກ່ອນໜ້າ n ຄູນ | \d{3} | ທັງໝົດ 3 ຕົວເລກ |
{ ນ ,} | ກົງກັບຮູບແບບກ່ອນໜ້າ n ຫຼືຫຼາຍເທື່ອ | \d{3,} | 3 ຕົວເລກ ຫຼືຫຼາຍກວ່ານັ້ນ |
{n,m} | ກົງກັບຮູບແບບກ່ອນໜ້າລະຫວ່າງ n ແລະ m ເວລາ | \d{3,5} | ຈາກ 3 ຫາ 5 ຕົວເລກ |
ການຈັດກຸ່ມ
ການສ້າງກຸ່ມຖືກໃຊ້ເພື່ອຈັບສະຕຣິງຍ່ອຍຈາກສະຕຣິງແຫຼ່ງທີ່ມາ, ດັ່ງນັ້ນທ່ານສາມາດປະຕິບັດບາງອັນກັບມັນໄດ້.
Syntax | ລາຍລະອຽດ | ຕົວຢ່າງ | ການຈັບຄູ່ |
(ຮູບແບບ) | ການຈັບກຸ່ມ: ຈັບສະຕຣິງຍ່ອຍທີ່ກົງກັນ ແລະມອບໝາຍເປັນຕົວເລກຕາມລຳດັບ | (\d+) | ໃນ 5 ແມວ ແລະ 10 ໝາ , ຈັບ 5 (ກຸ່ມ 1) ແລະ 10 (ກຸ່ມ 2) |
(?:pattern) | ກຸ່ມທີ່ບໍ່ຈັບພາບ: ກົງກັບກຸ່ມແຕ່ບໍ່ຈັບມັນ | (\d+)(?: dogs) | ໃນ 5 ແມວ ແລະ 10 ໝາ , ຈັບ 10 |
\1 | ເນື້ອໃນຂອງກຸ່ມ 1 | (\d+)\+(\d+)=\2\+\1 | ຈັບຄູ່ 5+10=10+5 ແລະ ຈັບພາບ 5 ແລະ 10 , ເຊິ່ງຢູ່ໃນການຈັບກຸ່ມ |
\2 | ເນື້ອໃນຂອງກຸ່ມ 2 |
Anchors
Anchors ລະບຸຕຳແໜ່ງໃນສະຕຣິງປ້ອນຂໍ້ມູນບ່ອນທີ່ຈະຊອກຫາ ການແຂ່ງຂັນ.
Anchor | ລາຍລະອຽດ | ຕົວຢ່າງ | ການຈັບຄູ່ |
^ | ການເລີ່ມຕົ້ນຂອງສະຕຣິງ ໝາຍເຫດ: [^inside brackets] ຫມາຍຄວາມວ່າ "ບໍ່" | ^\d+ | ຕົວເລກໃດກໍໄດ້ຢູ່ທີ່ ເລີ່ມຕົ້ນຂອງສາຍ. ໃນ 5 ແມວ ແລະ 10 ໝາ , ກົງກັນ 5 |
$ | ສິ້ນສຸດຂອງສະຕຣິງ | \d+$ | ຕົວເລກໃດກໍໄດ້ຢູ່ທ້າຍສະຕຣິງ. ໃນ 10Y |
(?<=) | ເບິ່ງທາງບວກ | (?<=Y)X | ກົງກັນສະແດງອອກ X ເມື່ອມັນຖືກນຳໜ້າດ້ວຍ Y (ເຊັ່ນ: ຖ້າມີ Y ຢູ່ຫຼັງ X) |
(? | ເບິ່ງທາງລົບ | (? | ກົງກັບການສະແດງຜົນ X ເມື່ອມັນບໍ່ຖືກນຳໜ້າໂດຍ Y |
ຕອນນີ້ເຈົ້າຮູ້ສິ່ງສຳຄັນແລ້ວ, ໃຫ້ເຮົາກ້າວໄປສູ່ສ່ວນທີ່ໜ້າສົນໃຈທີ່ສຸດ - ການນຳໃຊ້ regexes ຢູ່ໃນຂໍ້ມູນທີ່ແທ້ຈິງເພື່ອວິເຄາະສະຕຣິງແລະຊອກຫາຂໍ້ມູນທີ່ຕ້ອງການ. ຖ້າທ່ານຕ້ອງການລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບ syntax, ຄູ່ມື Microsoft ກ່ຽວກັບ Regular Expression Language ອາດຈະເປັນປະໂຫຍດ.
ຟັງຊັນ RegEx Custom ສໍາລັບ Excel
ດັ່ງທີ່ໄດ້ກ່າວມາແລ້ວ, Microsoft Excel ບໍ່ມີຟັງຊັນ RegEx ໃນຕົວ. ເພື່ອເປີດໃຊ້ການສະແດງອອກປົກກະຕິ, ພວກເຮົາໄດ້ສ້າງສາມຟັງຊັນ VBA ແບບກໍານົດເອງ (aka ຫນ້າທີ່ກໍານົດໂດຍຜູ້ໃຊ້). ທ່ານສາມາດຄັດລອກລະຫັດຈາກຫນ້າທີ່ເຊື່ອມຕໍ່ຂ້າງລຸ່ມນີ້ຫຼືຈາກຕົວຢ່າງຂອງພວກເຮົາ. ປື້ມບັນທຶກວຽກ, ແລະຈາກນັ້ນວາງໃສ່ໃນໄຟລ໌ Excel ຂອງທ່ານເອງ.
ການເຮັດວຽກຂອງ VBA RegExp ເຮັດວຽກແນວໃດ
ພາກນີ້ອະທິບາຍກົນໄກພາຍໃນ ແລະອາດຈະເປັນ int. eresting ກັບຜູ້ທີ່ຕ້ອງການທີ່ຈະຮູ້ວ່າສິ່ງທີ່ເກີດຂຶ້ນໃນ backend.
ເພື່ອເລີ່ມຕົ້ນການນໍາໃຊ້ການສະແດງອອກປົກກະຕິໃນ VBA, ທ່ານຈໍາເປັນຕ້ອງໄດ້ກະຕຸ້ນຫ້ອງສະຫມຸດອ້າງອີງວັດຖຸ RegEx ຫຼືໃຊ້ຟັງຊັນ CreateObject. ເພື່ອຊ່ວຍປະຢັດທ່ານບັນຫາໃນການຕັ້ງຄ່າການອ້າງອີງໃນຕົວແກ້ໄຂ VBA, ພວກເຮົາໄດ້ເລືອກວິທີສຸດທ້າຍ.
ວັດຖຸ RegExp ມີ 4 ຄຸນສົມບັດ:
- ຮູບແບບ - ແມ່ນ ຮູບແບບ ເພື່ອຈັບຄູ່ໃນສະຕຣິງການປ້ອນຂໍ້ມູນ. ໃນຟັງຊັນຂອງພວກເຮົາ, ມັນຖືກຕັ້ງເປັນ True ເພື່ອໃຫ້ໄດ້ ການຈັບຄູ່ທັງໝົດ .
- MultiLine - ກຳນົດວ່າຈະຈັບຄູ່ຮູບແບບການແບ່ງແຖວໃນຫຼາຍແຖວ ຫຼືພຽງແຕ່ ໃນແຖວທໍາອິດ. ໃນລະຫັດຂອງພວກເຮົາ, ມັນຖືກຕັ້ງເປັນ True ເພື່ອຄົ້ນຫາ ໃນທຸກໆແຖວ .
- IgnoreCase - ກໍານົດວ່າ expression ປົກກະຕິແມ່ນ case-sensitive (default) ຫຼື case- insensitive (ຕັ້ງເປັນ True). ໃນກໍລະນີຂອງພວກເຮົາ, ມັນຂຶ້ນກັບວິທີທີ່ທ່ານກໍານົດຄ່າທາງເລືອກຂອງ match_case ພາລາມິເຕີ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຟັງຊັນທັງໝົດແມ່ນ ຕົວພິມນ້ອຍໃຫຍ່ .
ຂໍ້ຈຳກັດ VBA RegExp
Excel VBA ປະຕິບັດຮູບແບບ regex ທີ່ສຳຄັນ, ແຕ່ມັນຂາດຄຸນສົມບັດຂັ້ນສູງຫຼາຍອັນ. ມີຢູ່ໃນ .NET, Perl, Java, ແລະເຄື່ອງຈັກ regex ອື່ນໆ. ຕົວຢ່າງ, VBA RegExp ບໍ່ຮອງຮັບຕົວແກ້ໄຂໃນແຖວເຊັ່ນ (?i) ສໍາລັບການຈັບຄູ່ກໍລະນີທີ່ບໍ່ລະອຽດອ່ອນ ຫຼື (?m) ສໍາລັບຮູບແບບຫຼາຍແຖວ, ເບິ່ງທາງຫຼັງ, ຊັ້ນ POSIX, ເພື່ອຕັ້ງຊື່ບາງອັນ.
Excel Regex ຟັງຊັນການຈັບຄູ່
ຟັງຊັນ RegExpMatch ຄົ້ນຫາສະຕຣິງປ້ອນຂໍ້ມູນສໍາລັບຂໍ້ຄວາມທີ່ກົງກັບການສະແດງຜົນປົກກະຕິ ແລະສົ່ງຄືນ TRUE ຖ້າພົບການຈັບຄູ່, FALSE ຖ້າບໍ່ດັ່ງນັ້ນ.
RegExpMatch(ຂໍ້ຄວາມ, ຮູບແບບ, [ match_case]) . ຕ້ອງການ) - ປົກກະຕິexpression to match.ລະຫັດຂອງຟັງຊັນຢູ່ນີ້.
ຕົວຢ່າງ: ວິທີໃຊ້ expression ປົກກະຕິເພື່ອຈັບຄູ່ສະຕຣິງ
ໃນຊຸດຂໍ້ມູນຂ້າງລຸ່ມນີ້, ສົມມຸດວ່າທ່ານຕ້ອງການ ເພື່ອລະບຸລາຍການທີ່ມີລະຫັດ SKU.
ເນື່ອງຈາກແຕ່ລະ SKU ເລີ່ມຕົ້ນດ້ວຍ 2 ໂຕພິມໃຫຍ່, ຕາມດ້ວຍຂີດໝາຍ, ຕາມດ້ວຍຕົວເລກ 4 ຕົວ, ທ່ານສາມາດຈັບຄູ່ພວກມັນໄດ້ໂດຍໃຊ້ການສະແດງຜົນຕໍ່ໄປນີ້.
Pattern : \b[A-Z]{2}-\d{4}\b
Where [A-Z]{2} ຫມາຍເຖິງ 2 ຕົວພິມໃຫຍ່ຈາກ A ຫາ Z ແລະ \d{4 } ໝາຍເຖິງຕົວເລກ 4 ຕົວເລກຈາກ 0 ຫາ 9. ຂອບເຂດຄຳສັບ \b ຊີ້ບອກວ່າ SKU ເປັນຄຳທີ່ແຍກຕ່າງຫາກ ແລະບໍ່ແມ່ນສ່ວນໜຶ່ງຂອງສະຕຣິງທີ່ໃຫຍ່ກວ່າ.
ດ້ວຍຮູບແບບທີ່ກຳນົດໄວ້, ໃຫ້ເລີ່ມພິມສູດຄຳນວນຄືກັບທີ່ທ່ານເຮັດຕາມປົກກະຕິ. , ແລະຊື່ຂອງຟັງຊັນຈະປາກົດຢູ່ໃນລາຍການທີ່ແນະນໍາໂດຍ AutoComplete ຂອງ Excel:
ສົມມຸດວ່າສະຕຣິງຕົ້ນສະບັບຢູ່ໃນ A5, ສູດຈະໄປດັ່ງຕໍ່ໄປນີ້:
=RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")
ເພື່ອຄວາມສະດວກ, ທ່ານສາມາດປ້ອນການສະແດງອອກປົກກະຕິໃນຕາລາງແຍກຕ່າງຫາກ ແລະໃຊ້ການອ້າງອີງຢ່າງແທ້ຈິງ ($A$2) ສໍາລັບ pattern argumen t. ອັນນີ້ຮັບປະກັນວ່າທີ່ຢູ່ເຊລຈະຍັງຄົງບໍ່ປ່ຽນແປງ ເມື່ອທ່ານສຳເນົາສູດຄຳນວນໄປໃສ່ເຊລອື່ນ:
=RegExpMatch(A5, $A$2)
ເພື່ອສະແດງປ້າຍກຳກັບຕົວໜັງສືຂອງເຈົ້າເອງແທນ TRUE ແລະ FALSE, ວາງ RegExpMatch ໃນຟັງຊັນ IF ແລະ ລະບຸຂໍ້ຄວາມທີ່ຕ້ອງການໃນ value_if_true ແລະ value_if_false ບວກ 5 ໃຫ້ 15 , ກົງກັນ 15
ການສະຫຼັບ (OR) ໂຄງສ້າງ
ຕົວປະຕິບັດການສະຫຼັບເປີດໃຫ້ໃຊ້ເຫດຜົນ OR, ດັ່ງນັ້ນທ່ານສາມາດຈັບຄູ່ອົງປະກອບນີ້ ຫຼືອົງປະກອບນັ້ນໄດ້.
ກໍ່ສ້າງ | ຄຳອະທິບາຍ | ຕົວຢ່າງ | ການຈັບຄູ່ |