ಎಕ್ಸೆಲ್ ರೆಜೆಕ್ಸ್: ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ತಂತಿಗಳನ್ನು ಹೊಂದಿಸಿ

  • ಇದನ್ನು ಹಂಚು
Michael Brown

ಪರಿವಿಡಿ

ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, Excel ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು regex ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಕುರಿತು ನಾವು ಆಳವಾದ ನೋಟವನ್ನು ಹೊಂದಿದ್ದೇವೆ.

ನೀವು ಶ್ರೇಣಿಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಮೌಲ್ಯವನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕಾದಾಗ ಜೀವಕೋಶಗಳಲ್ಲಿ, ನೀವು MATCH ಅಥವಾ XMATCH ಕಾರ್ಯವನ್ನು ಬಳಸುತ್ತೀರಿ. ಸೆಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟ ಸ್ಟ್ರಿಂಗ್‌ಗಾಗಿ ಹುಡುಕುತ್ತಿರುವಾಗ, FIND ಮತ್ತು SEARCH ಕಾರ್ಯಗಳು ಸೂಕ್ತವಾಗಿ ಬರುತ್ತವೆ. ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಮಾದರಿಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಮಾಹಿತಿಯನ್ನು ಕೋಶವು ಹೊಂದಿದ್ದರೆ ನಿಮಗೆ ಹೇಗೆ ಗೊತ್ತು? ನಿಸ್ಸಂಶಯವಾಗಿ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ. ಆದರೆ ಬಾಕ್ಸ್‌ನ ಹೊರಗೆ ಎಕ್ಸೆಲ್ ರಿಜೆಕ್ಸ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ! ಚಿಂತಿಸಬೇಡಿ, ನಾವು ಇದನ್ನು ಒತ್ತಾಯಿಸುತ್ತೇವೆ :)

    ಎಕ್ಸೆಲ್ VBA Regex ಫಂಕ್ಷನ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು

    ಇದು ಶಿರೋನಾಮೆಯಿಂದ ಸ್ಪಷ್ಟವಾದಂತೆ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸಲು ಎಕ್ಸೆಲ್ ನಲ್ಲಿ, ನಿಮ್ಮ ಸ್ವಂತ ಕಾರ್ಯವನ್ನು ನೀವು ರಚಿಸಬೇಕಾಗಿದೆ. ಅದೃಷ್ಟವಶಾತ್, ಎಕ್ಸೆಲ್‌ನ VBA ಅಂತರ್ಗತ RegExp ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಹೊಂದಿದೆ, ಇದನ್ನು ನೀವು ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ ನಿಮ್ಮ ಕೋಡ್‌ನಲ್ಲಿ ಬಳಸಬಹುದು:

    ಸಾರ್ವಜನಿಕ ಕಾರ್ಯ RegExpMatch(input_range As Range, ಮಾದರಿ ಬೂಲಿಯನ್ ಆಗಿ ಐಚ್ಛಿಕ match_case = True ) ವೇರಿಯಂಟ್ ಡಿಮ್ ಆರ್‌ರೆಸ್() ಫಲಿತಾಂಶಗಳನ್ನು ಶೇಖರಿಸಿಡಲು ವೇರಿಯಂಟ್ ಅರೇಯಂತೆ ಮಂದ iInputCurRow, iInputCurCol, cntInputRows, cntInputCols ಮೂಲ ಶ್ರೇಣಿಯಲ್ಲಿನ ಪ್ರಸ್ತುತ ಸಾಲಿನ ಉದ್ದದ ಸೂಚ್ಯಂಕ, ಮೂಲ ಶ್ರೇಣಿಯಲ್ಲಿರುವ ಪ್ರಸ್ತುತ ಕಾಲಮ್‌ನ ಸೂಚ್ಯಂಕ, ಸಾಲುಗಳ ಎಣಿಕೆ, ಎಣಿಕೆ ದೋಷದ ಮೇಲೆ ಕಾಲಮ್‌ಗಳು GoTo ErrHandl RegExpMatch = arRes ಸೆಟ್ regex = CreateObject ("VBScript.RegExp") regex.pattern = ಪ್ಯಾಟರ್ನ್ regex.Global = True regex.MultiLine = ನಿಜವಾಗಿದ್ದರೆ ಸರಿ = match_case ನಂತರ regex = Fignorecae ಅಂತ್ಯಅಭಿವ್ಯಕ್ತಿಗಳು.

    ಪ್ಯಾಟರ್ನ್ : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b

    ಇಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಪ್ರತಿಯೊಂದು ಭಾಗವನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡೋಣ :

    • ಬಳಕೆದಾರಹೆಸರು ಅಕ್ಷರಗಳು, ಸಂಖ್ಯೆಗಳು, ಅಂಡರ್‌ಸ್ಕೋರ್‌ಗಳು, ಚುಕ್ಕೆಗಳು ಮತ್ತು ಹೈಫನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. \w ಯಾವುದೇ ಅಕ್ಷರ, ಅಂಕಿ ಅಥವಾ ಅಂಡರ್‌ಸ್ಕೋರ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಂಡು, ನಾವು ಈ ಕೆಳಗಿನ ರಿಜೆಕ್ಸ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ: [\w\.\-]+
    • ಡೊಮೇನ್ ಹೆಸರು ದೊಡ್ಡಕ್ಷರ ಮತ್ತು ಸಣ್ಣ ಅಕ್ಷರಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು, ಅಂಕೆಗಳು, ಹೈಫನ್‌ಗಳು (ಆದರೆ ಮೊದಲ ಅಥವಾ ಕೊನೆಯ ಸ್ಥಾನದಲ್ಲಿಲ್ಲ) ಮತ್ತು ಚುಕ್ಕೆಗಳು (ಉಪಡೊಮೇನ್‌ಗಳ ಸಂದರ್ಭದಲ್ಲಿ). ಅಂಡರ್‌ಸ್ಕೋರ್‌ಗಳನ್ನು ಅನುಮತಿಸದ ಕಾರಣ, \w ಬದಲಿಗೆ ನಾವು 3 ವಿಭಿನ್ನ ಅಕ್ಷರ ಸೆಟ್‌ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • ಉನ್ನತ ಮಟ್ಟದ ಡೊಮೇನ್ ದೊಡ್ಡಕ್ಷರ ಮತ್ತು ಸಣ್ಣ ಅಕ್ಷರಗಳ ನಂತರ ಚುಕ್ಕೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಇದು 2 ರಿಂದ 24 ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬಹುದು (ಪ್ರಸ್ತುತ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಅತಿ ಉದ್ದವಾದ TLD): \.[A-Za-z]{2,24}

    ಗಮನಿಸಿ. ಮಾದರಿಯು ಡೊಮೇನ್ ಹೆಸರು 2 ಅಥವಾ ಹೆಚ್ಚಿನ ಆಲ್ಫಾನ್ಯೂಮರಿಕ್ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿದೆ ಎಂದು ಊಹಿಸುತ್ತದೆ.

    A5 ನಲ್ಲಿನ ಮೂಲ ಪಠ್ಯ ಮತ್ತು A5 ನಲ್ಲಿನ ಮಾದರಿಯೊಂದಿಗೆ, ಸೂತ್ರವು ಈ ಆಕಾರವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ:

    =RegExpMatch(A5, $A$2)

    ಅಥವಾ ನೀವು ಸರಳವಾದ ನಿಯಮಿತವನ್ನು ಬಳಸಬಹುದು ಸಣ್ಣ ಅಥವಾ ದೊಡ್ಡ ಅಕ್ಷರ ಸೆಟ್‌ನೊಂದಿಗೆ ಇಮೇಲ್ ಮೌಲ್ಯೀಕರಣಕ್ಕಾಗಿ ಅಭಿವ್ಯಕ್ತಿ:

    ಪ್ಯಾಟರ್ನ್ : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\.[a-z]{2,24}\b

    ಆದರೆ ನಿಮ್ಮ ಸೂತ್ರವನ್ನು ಕೇಸ್-ಇನ್ಸೆನ್ಸಿಟಿವ್ ಆಗಿ ಮಾಡಿ:

    =RegExpMatch(A5, $A$2, FALSE)

    ಎಕ್ಸೆಲ್ IF ಫಾರ್ಮುಲಾ ಜೊತೆಗೆ ಮ್ಯಾಚ್ ರಿಜೆಕ್ಸ್

    ಇನ್‌ಬಿಲ್ಟ್ ಮತ್ತು ಕಸ್ಟಮ್ ಕಾರಣಕಾರ್ಯಗಳು ಉತ್ತಮವಾಗಿ ಸಾಗುತ್ತವೆ, ಒಂದೇ ಸೂತ್ರದಲ್ಲಿ ಅವುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುವುದರಿಂದ ನಿಮ್ಮನ್ನು ತಡೆಯುವ ಯಾವುದೂ ಇಲ್ಲ.

    ಸಾಮಾನ್ಯ ಅಭಿವ್ಯಕ್ತಿ ಹೊಂದಾಣಿಕೆಯಾಗಿದ್ದರೆ ಏನನ್ನಾದರೂ ಹಿಂತಿರುಗಿಸಲು ಅಥವಾ ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಮತ್ತು ಅದು ಹೊಂದಾಣಿಕೆಯಾಗದಿದ್ದರೆ, ಕಸ್ಟಮ್ RegExpMatch ಅನ್ನು ಎಂಬೆಡ್ ಮಾಡಿ IF ನ ತಾರ್ಕಿಕ ಪಠ್ಯದಲ್ಲಿ ಕಾರ್ಯ:

    IF(RegExpMatch(...), [value_if_true], [value_if_false])

    ಉದಾಹರಣೆಗೆ, A5 ನಲ್ಲಿನ ಸ್ಟ್ರಿಂಗ್ ಮಾನ್ಯವಾದ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು "ಹೌದು" ಎಂದು ಹಿಂತಿರುಗಿಸಬಹುದು; ಇಲ್ಲದಿದ್ದರೆ "ಇಲ್ಲ".

    =IF(RegExpMatch(A5, $A$2,), "Yes", "No")

    ರೆಜೆಕ್ಸ್ ಹೊಂದಾಣಿಕೆಯಾಗಿದ್ದರೆ ಎಣಿಸಿ

    ಏಕೆಂದರೆ ಸ್ಥಳೀಯ ಎಕ್ಸೆಲ್ ಕಾರ್ಯಗಳು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಅದು COUNTIS ಅಥವಾ COUNTIFS ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ನೇರವಾಗಿ ರೆಜೆಕ್ಸ್ ಅನ್ನು ಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದೃಷ್ಟವಶಾತ್, ನಮ್ಮ ಕಸ್ಟಮ್ ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಈ ಕಾರ್ಯವನ್ನು ಅನುಕರಿಸಬಹುದು.

    ಫೋನ್ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ಕಾಲಮ್ B ನಲ್ಲಿ ಔಟ್‌ಪುಟ್ ಮಾಡಲು ನೀವು ರಿಜೆಕ್ಸ್ ಅನ್ನು ಬಳಸಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸೋಣ. ಎಷ್ಟು ಸೆಲ್‌ಗಳು ಫೋನ್ ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿವೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯಲು, ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು B5:B9 ನಲ್ಲಿ TRUE ಮೌಲ್ಯಗಳನ್ನು ಎಣಿಸಲು. ಮತ್ತು ಸ್ಟ್ಯಾಂಡರ್ಡ್ COUNTIF ಸೂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಸುಲಭವಾಗಿ ಮಾಡಬಹುದು:

    =COUNTIF(B5:B9, TRUE)

    ನಿಮ್ಮ ವರ್ಕ್‌ಶೀಟ್‌ನಲ್ಲಿ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಕಾಲಮ್‌ಗಳು ಬೇಡವೇ? ಯಾವ ತೊಂದರೆಯಿಲ್ಲ. ನಮ್ಮ ಕಸ್ಟಮ್ ಕಾರ್ಯವು ಒಂದು ಸಮಯದಲ್ಲಿ ಅನೇಕ ಸೆಲ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು ಮತ್ತು ಎಕ್ಸೆಲ್‌ನ SUM ಒಂದು ಶ್ರೇಣಿಯಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಬಹುದು ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ, ನೀವು ಏನು ಮಾಡುತ್ತೀರಿ ಎಂಬುದು ಇಲ್ಲಿದೆ:

    • RegExpMatch ಗೆ ಶ್ರೇಣಿಯ ಉಲ್ಲೇಖವನ್ನು ಪೂರೈಸಿ, ಆದ್ದರಿಂದ ಅದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ TRUE ಮತ್ತು FALSE ಮೌಲ್ಯಗಳ ಅರೇಸೊನ್ನೆಗಳು.
    • ಪರಿಣಾಮವಾಗುವ ಶ್ರೇಣಿಯಲ್ಲಿ 1 ಮತ್ತು 0 ಗಳನ್ನು ಸೇರಿಸಲು SUM ಕಾರ್ಯವನ್ನು ಪಡೆಯಿರಿ.

    =SUM(--RegExpMatch(A5:A9, $A$2))

    ರೆಜೆಕ್ಸ್ ಹೊಂದಾಣಿಕೆ ಅಲ್ಟಿಮೇಟ್ ಸೂಟ್‌ನೊಂದಿಗೆ

    ನಮ್ಮ ಅಲ್ಟಿಮೇಟ್ ಸೂಟ್‌ನ ಬಳಕೆದಾರರು ತಮ್ಮ ವರ್ಕ್‌ಬುಕ್‌ಗಳಿಗೆ ಯಾವುದೇ VBA ಕೋಡ್ ಅನ್ನು ಸೇರಿಸದೆಯೇ ನಾಲ್ಕು ಶಕ್ತಿಯುತ Regex ಕಾರ್ಯಗಳನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು ಏಕೆಂದರೆ ಅವುಗಳು ಆಡ್-ಇನ್ ಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ಎಕ್ಸೆಲ್‌ಗೆ ಸರಾಗವಾಗಿ ಸಂಯೋಜಿಸಲ್ಪಡುತ್ತವೆ. ನಮ್ಮ ಕಸ್ಟಮ್ ಕಾರ್ಯಗಳನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ .NET RegEx ಎಂಜಿನ್‌ನಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪೂರ್ಣ-ವೈಶಿಷ್ಟ್ಯದ ಕ್ಲಾಸಿಕ್ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.

    ಕಸ್ಟಮ್ RegexMatch ಫಂಕ್ಷನ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

    ನೀವು ಅಲ್ಟಿಮೇಟ್ ಸೂಟ್‌ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಸ್ಥಾಪಿಸಿರುವಿರಿ ಎಂದು ಭಾವಿಸಿ ( 2021.4 ಅಥವಾ ನಂತರ), ನೀವು ಎರಡು ಸರಳ ಹಂತಗಳಲ್ಲಿ Regex Match ಸೂತ್ರವನ್ನು ರಚಿಸಬಹುದು:

    1. Ablebits ಡೇಟಾ ಟ್ಯಾಬ್‌ನಲ್ಲಿ, Text ಗುಂಪಿನಲ್ಲಿ, ಕ್ಲಿಕ್ ಮಾಡಿ Regex Tools .

  • Regex Tools ಫಲಕದಲ್ಲಿ, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಿ:
    • ಆಯ್ಕೆಮಾಡಿ ಮೂಲ ಸ್ಟ್ರಿಂಗ್‌ಗಳು.
    • ನಿಮ್ಮ ಮಾದರಿಯನ್ನು ನಮೂದಿಸಿ.
    • ಹೊಂದಾಣಿಕೆ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ.
    • ಫಲಿತಾಂಶಗಳನ್ನು ಸೂತ್ರಗಳಾಗಿ ಹೊಂದಲು, ಮೌಲ್ಯಗಳಾಗಿರಲು, <ಆಯ್ಕೆಮಾಡಿ 8>ಸೂತ್ರವಾಗಿ ಸೇರಿಸಿ ಚೆಕ್ ಬಾಕ್ಸ್.
    • ಹೊಂದಾಣಿಕೆ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ.

    ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ, AblebitsRegexMatch ಕಾರ್ಯವನ್ನು ನಿಮ್ಮ ಡೇಟಾದ ಬಲಕ್ಕೆ ಹೊಸ ಕಾಲಮ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗುತ್ತದೆ.

    ಕೆಳಗಿನ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ನಲ್ಲಿ, ಕಾಲಮ್ A ನಲ್ಲಿರುವ ಸ್ಟ್ರಿಂಗ್‌ಗಳು 7-ಅಂಕಿಗಳನ್ನು ಹೊಂದಿದೆಯೇ ಎಂಬುದನ್ನು ಫಂಕ್ಷನ್ ಪರಿಶೀಲಿಸುತ್ತದೆ ಸಂಖ್ಯೆಗಳು ಅಥವಾ ಇಲ್ಲ.

    ಸಲಹೆಗಳು:

    • ದಿ ಫಂಕ್ tion ಅನ್ನು ಸೇರಿಸಬಹುದು ನೇರವಾಗಿ ಸೆಲ್ ಸ್ಟ್ಯಾಂಡರ್ಡ್ Insert Function ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯ ಮೂಲಕ, ಅದನ್ನು AblebitsUDFs ಅಡಿಯಲ್ಲಿ ವರ್ಗೀಕರಿಸಲಾಗಿದೆ.
    • ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಸೂತ್ರಕ್ಕೆ ಸೇರಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ನೀವು ಇರಿಸಬಹುದು. ಇದು ಪ್ರತ್ಯೇಕ ಕೋಶದಲ್ಲಿ. ಇದಕ್ಕಾಗಿ, 2 ನೇ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗೆ ಸೆಲ್ ಉಲ್ಲೇಖವನ್ನು ಬಳಸಿ.
    • ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಕಾರ್ಯವು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಆಗಿದೆ. ಕೇಸ್-ಇನ್ಸೆನ್ಸಿಟಿವ್ ಹೊಂದಾಣಿಕೆಗಾಗಿ, (?i) ಮಾದರಿಯನ್ನು ಬಳಸಿ.

    ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ದಯವಿಟ್ಟು AblebitsRegexMatch ಕಾರ್ಯವನ್ನು ನೋಡಿ.

    ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಹೊಂದಾಣಿಕೆಯನ್ನು ಮಾಡುವುದು ಹೇಗೆ. ಓದಿದ್ದಕ್ಕಾಗಿ ನಾನು ನಿಮಗೆ ಧನ್ಯವಾದಗಳು ಮತ್ತು ಮುಂದಿನ ವಾರ ನಮ್ಮ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ನಿಮ್ಮನ್ನು ನೋಡಲು ಎದುರು ನೋಡುತ್ತಿದ್ದೇನೆ!

    ಲಭ್ಯವಿರುವ ಡೌನ್‌ಲೋಡ್‌ಗಳು

    Excel Regex Match ಉದಾಹರಣೆಗಳು (.xlsm ಫೈಲ್)

    Ultimate Suite 14- ದಿನದ ಸಂಪೂರ್ಣ-ಕ್ರಿಯಾತ್ಮಕ ಆವೃತ್ತಿ (.exe ಫೈಲ್)

    cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes(1 ರಿಂದ cntInputRows, 1 ರಿಂದ cntInputCols) iInputCurRow = 1 ಗೆ cntInputRows ಫಾರ್ iInputCurRows = 1 CntInputRows ಫಾರ್ iInputCurCol. .Cells(iInputCurRow, iInputCurCol).ಮೌಲ್ಯ) ಮುಂದೆ ಮುಂದಿನ RegExpMatch = arRes ಎಕ್ಸಿಟ್ ಫಂಕ್ಷನ್ ErrHandl: RegExpMatch = CVErr(xlErrValue) ಅಂತ್ಯ ಕಾರ್ಯ

    VBA ಎಡಿಟರ್‌ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಅಂಟಿಸಿ, ಮತ್ತು ನಿಮ್ಮ ಹೊಸ Reg ಕಾರ್ಯ <2ExpatchM ಆಗಿದೆ ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ. ನೀವು VBA ಯೊಂದಿಗೆ ಹೆಚ್ಚು ಅನುಭವ ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಈ ಮಾರ್ಗದರ್ಶಿ ಸಹಾಯಕವಾಗಬಹುದು: Excel ನಲ್ಲಿ VBA ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ಸೇರಿಸುವುದು.

    ಗಮನಿಸಿ. ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿದ ನಂತರ, ನಿಮ್ಮ ಫೈಲ್ ಅನ್ನು ಮ್ಯಾಕ್ರೋ-ಸಕ್ರಿಯಗೊಳಿಸಿದ ವರ್ಕ್‌ಬುಕ್ (.xlsm) ಆಗಿ ಉಳಿಸಲು ಮರೆಯದಿರಿ.

    RegExpMatch ಸಿಂಟ್ಯಾಕ್ಸ್

    RegExpMatch ಕಾರ್ಯವು ಮೂಲ ಸ್ಟ್ರಿಂಗ್‌ನ ಯಾವುದೇ ಭಾಗವು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಫಲಿತಾಂಶವು ಬೂಲಿಯನ್ ಮೌಲ್ಯವಾಗಿದೆ: ಕನಿಷ್ಠ ಒಂದು ಹೊಂದಾಣಿಕೆ ಕಂಡುಬಂದರೆ TRUE, ಇಲ್ಲದಿದ್ದರೆ ತಪ್ಪು.

    ನಮ್ಮ ಕಸ್ಟಮ್ ಕಾರ್ಯವು 3 ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಹೊಂದಿದೆ - ಮೊದಲ ಎರಡು ಅಗತ್ಯವಿದೆ ಮತ್ತು ಕೊನೆಯದು ಐಚ್ಛಿಕ:

    RegExpMatch(ಪಠ್ಯ , ಪ್ಯಾಟರ್ನ್, [match_case])

    ಎಲ್ಲಿ:

    • ಪಠ್ಯ (ಅಗತ್ಯವಿದೆ) - ಹುಡುಕಲು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸ್ಟ್ರಿಂಗ್‌ಗಳು. ಸೆಲ್ ಅಥವಾ ಶ್ರೇಣಿಯ ಉಲ್ಲೇಖವಾಗಿ ಒದಗಿಸಬಹುದು.
    • ಪ್ಯಾಟರ್ನ್ (ಅಗತ್ಯವಿದೆ) - ಹೊಂದಿಸಲು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ. ನೇರವಾಗಿ ಸೂತ್ರದಲ್ಲಿ ಇರಿಸಿದಾಗ, ಮಾದರಿಯನ್ನು ಡಬಲ್ ಕೋಟ್‌ಗಳಲ್ಲಿ ಲಗತ್ತಿಸಬೇಕು.
    • Match_case (ಐಚ್ಛಿಕ) - ಹೊಂದಾಣಿಕೆಯನ್ನು ವಿವರಿಸುತ್ತದೆಮಾದರಿ. TRUE ಅಥವಾ ಬಿಟ್ಟುಬಿಟ್ಟರೆ (ಡೀಫಾಲ್ಟ್), ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಹೊಂದಾಣಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ; ತಪ್ಪಾಗಿದ್ದರೆ - ಕೇಸ್-ಇನ್ಸೆನ್ಸಿಟಿವ್.

    ಎಕ್ಸೆಲ್ 365, ಎಕ್ಸೆಲ್ 2021, ಎಕ್ಸೆಲ್ 2019, ಎಕ್ಸೆಲ್ 2016, ಎಕ್ಸೆಲ್ 2013 ಮತ್ತು ಎಕ್ಸೆಲ್ 2010 ರ ಎಲ್ಲಾ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಕಾರ್ಯವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

    3 ವಿಷಯಗಳು ನೀವು RegExpMatch ಬಗ್ಗೆ ತಿಳಿದಿರಬೇಕು

    ನಾವು ಪ್ರಾಯೋಗಿಕ ಲೆಕ್ಕಾಚಾರಗಳಿಗೆ ಹೋಗುವ ಮೊದಲು, ದಯವಿಟ್ಟು ಕೆಲವು ತಾಂತ್ರಿಕತೆಗಳನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುವ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಗಮನಿಸಿ:

    1. ಕಾರ್ಯವು ಏಕ ಕೋಶವನ್ನು<9 ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬಹುದು> ಅಥವಾ ಕೋಶಗಳ ಶ್ರೇಣಿ . ನಂತರದ ಸಂದರ್ಭದಲ್ಲಿ, ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಡೈನಾಮಿಕ್ ಅರೇ ಅಥವಾ ಸ್ಪಿಲ್ ಶ್ರೇಣಿಯ ರೂಪದಲ್ಲಿ ನೆರೆಯ ಕೋಶಗಳಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.
    2. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಕಾರ್ಯವು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ . ಪಠ್ಯ ಪ್ರಕರಣವನ್ನು ನಿರ್ಲಕ್ಷಿಸಲು, match_case ವಾದವನ್ನು FALSE ಗೆ ಹೊಂದಿಸಿ. VBA Regexp ಮಿತಿಗಳ ಕಾರಣ, ಕೇಸ್-ಇನ್ಸೆನ್ಸಿಟಿವ್ ಪ್ಯಾಟರ್ನ್ (?i) ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
    3. ಮಾನ್ಯವಾದ ನಮೂನೆಯು ಕಂಡುಬರದಿದ್ದರೆ, ಫಂಕ್ಷನ್ FALSE ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ; ಮಾದರಿಯು ಅಮಾನ್ಯವಾಗಿದ್ದರೆ , #VALUE! ದೋಷ ಸಂಭವಿಸುತ್ತದೆ.

    ಕೆಳಗೆ, ಪ್ರಾತ್ಯಕ್ಷಿಕೆ ಉದ್ದೇಶಗಳಿಗಾಗಿ ರಚಿಸಲಾದ ಕೆಲವು ರಿಜೆಕ್ಸ್ ಹೊಂದಾಣಿಕೆಯ ಉದಾಹರಣೆಗಳನ್ನು ನೀವು ಕಾಣಬಹುದು. ನಿಮ್ಮ ನೈಜ ವರ್ಕ್‌ಶೀಟ್‌ಗಳಲ್ಲಿ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಇನ್‌ಪುಟ್ ಡೇಟಾದೊಂದಿಗೆ ನಮ್ಮ ಮಾದರಿಗಳು ದೋಷರಹಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂದು ನಾವು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ಉತ್ಪಾದನೆಯನ್ನು ಹಾಕುವ ಮೊದಲು, ನಿಮ್ಮ ಅಗತ್ಯಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ನಮ್ಮ ಮಾದರಿಗಳ ಮಾದರಿಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಹೊಂದಿಸಲು ಮರೆಯದಿರಿ.

    ಎಕ್ಸೆಲ್‌ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ರಿಜೆಕ್ಸ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

    ನೀವು ಹೊಂದಿಸಲು ಬಯಸುವ ಎಲ್ಲಾ ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಅದೇ ಮಾದರಿ,ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಸೂಕ್ತ ಪರಿಹಾರವಾಗಿದೆ.

    ಕೆಲವು ಐಟಂಗಳ ಕುರಿತು ವಿವಿಧ ವಿವರಗಳನ್ನು ಹೊಂದಿರುವ ಕೋಶಗಳ ಶ್ರೇಣಿಯನ್ನು (A5:A9) ಹೊಂದಿರುವಿರಿ ಎಂದು ಭಾವಿಸೋಣ. SKU ಗಳನ್ನು ಹೊಂದಿರುವ ಕೋಶಗಳನ್ನು ನೀವು ತಿಳಿದುಕೊಳ್ಳಲು ಬಯಸುತ್ತೀರಿ. ಪ್ರತಿ SKU 2 ದೊಡ್ಡ ಅಕ್ಷರಗಳು, ಹೈಫನ್ ಮತ್ತು 3 ಅಂಕೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಎಂದು ಭಾವಿಸಿದರೆ, ನೀವು ಈ ಕೆಳಗಿನ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ಹೊಂದಿಸಬಹುದು.

    ಪ್ಯಾಟರ್ನ್ : \b[A-Z]{2}-\ d{3}\b

    ಇಲ್ಲಿ [A-Z]{2} ಎಂದರೆ A ನಿಂದ Z ವರೆಗಿನ ಯಾವುದೇ 2 ದೊಡ್ಡಕ್ಷರಗಳು ಮತ್ತು \d{3} ಎಂದರೆ 0 ರಿಂದ 9 ರವರೆಗಿನ ಯಾವುದೇ 3 ಅಂಕೆಗಳು. \b ಅಕ್ಷರವು ಪದವನ್ನು ಸೂಚಿಸುತ್ತದೆ ಗಡಿ, ಅಂದರೆ SKU ಒಂದು ಪ್ರತ್ಯೇಕ ಪದವಾಗಿದೆ ಮತ್ತು 23-MAR-2022 ನಂತಹ ದೊಡ್ಡ ಸ್ಟ್ರಿಂಗ್‌ನ ಭಾಗವಲ್ಲ.

    ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದರೊಂದಿಗೆ, ನಾವು ಸೂತ್ರವನ್ನು ಬರೆಯಲು ಮುಂದುವರಿಯಬಹುದು. ಮೂಲಭೂತವಾಗಿ, ಕಸ್ಟಮ್ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು ಸ್ಥಳೀಯ ಒಂದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿರುವುದಿಲ್ಲ. ನೀವು ಸೂತ್ರವನ್ನು ಟೈಪ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದ ತಕ್ಷಣ, ಎಕ್ಸೆಲ್‌ನ ಸ್ವಯಂಪೂರ್ಣತೆ ಸೂಚಿಸಿದ ಪಟ್ಟಿಯಲ್ಲಿ ಕಾರ್ಯದ ಹೆಸರು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಡೈನಾಮಿಕ್ ಅರೇ ಎಕ್ಸೆಲ್ (ಮೈಕ್ರೋಸಾಫ್ಟ್ 365 ಮತ್ತು ಎಕ್ಸೆಲ್ 2021) ಮತ್ತು ಸಾಂಪ್ರದಾಯಿಕ ಎಕ್ಸೆಲ್ (2019 ಮತ್ತು ಹಳೆಯ ಆವೃತ್ತಿಗಳು) ನಲ್ಲಿ ಒಂದೆರಡು ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳಿವೆ.

    ಒಂದು ಸೆಲ್‌ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸಿ

    ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸಲು ಒಂದೇ ಕೋಶದಲ್ಲಿ, ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನಲ್ಲಿ ಆ ಕೋಶವನ್ನು ಉಲ್ಲೇಖಿಸಿ. ಎರಡನೆಯ ಆರ್ಗ್ಯುಮೆಂಟ್ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಹೊಂದಿರಬೇಕು.

    =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")

    ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಪೂರ್ವನಿರ್ಧರಿತ ಸೆಲ್‌ನಲ್ಲಿಯೂ ಇರಿಸಬಹುದು, ಅದನ್ನು ಸಂಪೂರ್ಣ ಉಲ್ಲೇಖದೊಂದಿಗೆ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ ($A$2):

    =RegExpMatch(A5, $A$2)

    ಮೊದಲ ಕೋಶದಲ್ಲಿ ಸೂತ್ರವನ್ನು ನಮೂದಿಸಿದ ನಂತರ, ನೀವು ಅದನ್ನು ಎಲ್ಲಾ ಇತರ ಸಾಲುಗಳಿಗೆ ಕೆಳಗೆ ಎಳೆಯಬಹುದು.

    ಈ ವಿಧಾನ ಎಲ್ಲಾ ಎಕ್ಸೆಲ್ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಸುಂದರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

    ಒಂದೇ ಬಾರಿಗೆ ಬಹು ಸೆಲ್‌ಗಳಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಿ

    ಒಂದೇ ಸೂತ್ರದೊಂದಿಗೆ ಬಹು ತಂತಿಗಳನ್ನು ಹೊಂದಿಸಲು, ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನಲ್ಲಿ ಶ್ರೇಣಿಯ ಉಲ್ಲೇಖವನ್ನು ಸೇರಿಸಿ:

    =RegExpMatch(A5:A9, "\b[A-Z]{2}-\d{3}\b")

    Excel 365 ಮತ್ತು Excel 2021 ಡೈನಾಮಿಕ್ ಅರೇಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಈ ರೀತಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ - ನೀವು ಮೊದಲ ಸೆಲ್‌ನಲ್ಲಿ ಸೂತ್ರವನ್ನು ಟೈಪ್ ಮಾಡಿ, Enter ಒತ್ತಿರಿ ಮತ್ತು ಸೂತ್ರವು ಕೆಳಗಿನ ಕೋಶಗಳಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಚೆಲ್ಲುತ್ತದೆ.

    Excel 2019 ಮತ್ತು ಹಿಂದಿನದು, ಇದು ಸಾಂಪ್ರದಾಯಿಕ CSE ಅರೇ ಸೂತ್ರದಂತೆ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಇದು ಕೋಶಗಳ ಶ್ರೇಣಿಯಲ್ಲಿ ನಮೂದಿಸಲ್ಪಡುತ್ತದೆ ಮತ್ತು Ctrl + Shift + Enter ಕೀಗಳನ್ನು ಒಟ್ಟಿಗೆ ಒತ್ತುವುದರ ಮೂಲಕ ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ.

    ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸಲು Regex

    0 ರಿಂದ 9 ರವರೆಗೆ ಯಾವುದೇ ಏಕ ಅಂಕಿಯನ್ನು ಹೊಂದಿಸಲು, ರೆಜೆಕ್ಸ್‌ನಲ್ಲಿ \d ಅಕ್ಷರವನ್ನು ಬಳಸಿ. ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯವನ್ನು ಅವಲಂಬಿಸಿ, ಸೂಕ್ತವಾದ ಕ್ವಾಂಟಿಫೈಯರ್ ಅನ್ನು ಸೇರಿಸಿ ಅಥವಾ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಮಾದರಿಯನ್ನು ರಚಿಸಿ.

    ಯಾವುದೇ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸಲು Regex

    ಯಾವುದೇ ಉದ್ದದ ಯಾವುದೇ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸಲು, ನಂತರ ಬಲಕ್ಕೆ + ಕ್ವಾಂಟಿಫೈಯರ್ ಅನ್ನು ಹಾಕಿ. d ಅಕ್ಷರ, ಇದು 1 ಅಥವಾ ಹೆಚ್ಚಿನ ಅಂಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಸಂಖ್ಯೆಗಳನ್ನು ನೋಡಲು ಹೇಳುತ್ತದೆ.

    ಪ್ಯಾಟರ್ನ್ : \d+

    =RegExpMatch(A5:A9, "\d+")

    ನಿರ್ದಿಷ್ಟ ಉದ್ದದ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಸಲು Regex

    ನಿಮ್ಮ ಗುರಿಯು ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಅಂಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸುವುದು ಆಗಿದ್ದರೆ, ನಂತರ ಸೂಕ್ತವಾದ ಕ್ವಾಂಟಿಫೈಯರ್ ಜೊತೆಗೆ \d ಅನ್ನು ಬಳಸಿ.

    ಉದಾಹರಣೆಗೆ, ನಿಖರವಾಗಿ 7 ಅಂಕೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಇನ್‌ವಾಯ್ಸ್ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿಸಲು, ನೀವು \d{7} ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಆದಾಗ್ಯೂ, ಇದು 7 ಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ನೆನಪಿನಲ್ಲಿಡಿನಿರೀಕ್ಷಿಸಿದಂತೆ:

    ಟಿಪ್ಪಣಿಗಳು:

    • ಅಂತರರಾಷ್ಟ್ರೀಯ ಕೋಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳು ಪ್ರಸ್ತುತವಾಗಿರಬಹುದು ಅಥವಾ ಇಲ್ಲದಿರಬಹುದು.
    • ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ, \s ಎಂದರೆ ಸ್ಪೇಸ್, ​​ಟ್ಯಾಬ್, ಕ್ಯಾರೇಜ್ ರಿಟರ್ನ್ ಅಥವಾ ಹೊಸ ಸಾಲಿನಂತಹ ಯಾವುದೇ ವೈಟ್‌ಸ್ಪೇಸ್ ಅಕ್ಷರವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸ್ಪೇಸ್‌ಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಲು, [-\ ಬಳಸಿ. ] ಬದಲಿಗೆ [-\.\s].
    • ರೆಜೆಕ್ಸ್ ಗೆ ಹೊಂದಿಕೆಯಾಗದ ಅಕ್ಷರಕ್ಕೆ

      ನಿರ್ದಿಷ್ಟ ಅಕ್ಷರವನ್ನು ಹೊಂದಿರದ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹುಡುಕಲು, ನೀವು ಹೊಂದಿಕೆಯಾಗುವ [^ ] ಅನ್ನು ನಿರಾಕರಿಸಿದ ಅಕ್ಷರ ವರ್ಗಗಳನ್ನು ಬಳಸಬಹುದು ಯಾವುದೂ ಬ್ರಾಕೆಟ್‌ಗಳಲ್ಲಿಲ್ಲ. ಉದಾಹರಣೆಗೆ:

      • [^13] 1 ಅಥವಾ 3 ಅಲ್ಲದ ಯಾವುದೇ ಒಂದು ಅಕ್ಷರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.
      • [^1-3] 1 ಅಲ್ಲದ ಯಾವುದೇ ಒಂದು ಅಕ್ಷರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ, 2 ಅಥವಾ 3 (ಅಂದರೆ 1 ರಿಂದ 3 ರವರೆಗಿನ ಯಾವುದೇ ಅಂಕಿ).

      ಫೋನ್ ಸಂಖ್ಯೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ, ನೀವು ದೇಶದ ಕೋಡ್ ಅನ್ನು ಹೊಂದಿರದವರನ್ನು ಹುಡುಕಲು ಬಯಸುತ್ತೀರಿ ಎಂದು ಭಾವಿಸೋಣ. ಯಾವುದೇ ಅಂತಾರಾಷ್ಟ್ರೀಯ ಕೋಡ್ + ಚಿಹ್ನೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಂಡು, ಪ್ಲಸ್ ಚಿಹ್ನೆಯನ್ನು ಹೊಂದಿರದ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹುಡುಕಲು ನೀವು [^\+] ಅಕ್ಷರ ವರ್ಗವನ್ನು ಬಳಸಬಹುದು. ಮೇಲಿನ ಅಭಿವ್ಯಕ್ತಿಯು + ಅಲ್ಲದ ಯಾವುದೇ ಒಂದು ಅಕ್ಷರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಅರಿತುಕೊಳ್ಳುವುದು ಮುಖ್ಯ. ಫೋನ್ ಸಂಖ್ಯೆಯು ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಇರಬಹುದು, ಪ್ರಾರಂಭದಲ್ಲಿಯೇ ಅಗತ್ಯವಿಲ್ಲ, ಪ್ರತಿ ನಂತರದ ಅಕ್ಷರವನ್ನು ಪರಿಶೀಲಿಸಲು * ಕ್ವಾಂಟಿಫೈಯರ್ ಅನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. ಪ್ರಾರಂಭ ^ ಮತ್ತು ಅಂತ್ಯ $ ಆಂಕರ್‌ಗಳು ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, "ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿನ ಯಾವುದೇ ಸ್ಥಾನದಲ್ಲಿ + ಅಕ್ಷರವನ್ನು ಹೊಂದಿಕೆಯಾಗಬೇಡಿ" ಎಂದು ಹೇಳುವ ಕೆಳಗಿನ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ನಾವು ಪಡೆಯುತ್ತೇವೆ.

      ಪ್ಯಾಟರ್ನ್ :^[^\+]*$

      =RegExpMatch(A5, "^[^\+]*$")

      Regex to NOT string

      ಆದರೂ ಯಾವುದೇ ವಿಶೇಷ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಸಿಂಟ್ಯಾಕ್ಸ್ ಇಲ್ಲ ನಿರ್ದಿಷ್ಟ ಸ್ಟ್ರಿಂಗ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ, ನಕಾರಾತ್ಮಕ ನೋಟವನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಈ ನಡವಳಿಕೆಯನ್ನು ಅನುಕರಿಸಬಹುದು.

      ನೀವು ಇಲ್ಲದ "ನಿಂಬೆಗಳು" ಪದವನ್ನು ಹುಡುಕಲು ಬಯಸುತ್ತೀರಿ ಎಂದು ಭಾವಿಸೋಣ. ಈ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯು ಒಂದು ಸತ್ಕಾರವನ್ನು ಮಾಡುತ್ತದೆ:

      ಪ್ಯಾಟರ್ನ್ : ^((?! ನಿಂಬೆಹಣ್ಣು).)*$

      ನಿಸ್ಸಂಶಯವಾಗಿ, ಇಲ್ಲಿ ಕೆಲವು ವಿವರಣೆಯ ಅಗತ್ಯವಿದೆ. ಮುಂದೆ "ನಿಂಬೆಹಣ್ಣು" ಎಂಬ ಪದವಿಲ್ಲವೇ ಎಂಬುದನ್ನು ನೋಡಲು ನೆಗೆಟಿವ್ ಲುಕ್‌ಹೆಡ್ (?! ನಿಂಬೆಹಣ್ಣು) ಬಲಕ್ಕೆ ಕಾಣುತ್ತದೆ. "ನಿಂಬೆಹಣ್ಣುಗಳು" ಇಲ್ಲದಿದ್ದರೆ, ರೇಖೆಯ ವಿರಾಮವನ್ನು ಹೊರತುಪಡಿಸಿ ಡಾಟ್ ಯಾವುದೇ ಅಕ್ಷರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಮೇಲಿನ ಅಭಿವ್ಯಕ್ತಿಯು ಕೇವಲ ಒಂದು ಪರಿಶೀಲನೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು * ಕ್ವಾಂಟಿಫೈಯರ್ ಅದನ್ನು ಶೂನ್ಯ ಅಥವಾ ಹೆಚ್ಚಿನ ಬಾರಿ ಪುನರಾವರ್ತಿಸುತ್ತದೆ, ^ ಮೂಲಕ ಲಂಗರು ಹಾಕಲಾದ ಸ್ಟ್ರಿಂಗ್‌ನ ಪ್ರಾರಂಭದಿಂದ $ ಮೂಲಕ ಲಂಗರು ಹಾಕಲಾದ ಸ್ಟ್ರಿಂಗ್‌ನ ಅಂತ್ಯದವರೆಗೆ.

      ಪಠ್ಯ ಪ್ರಕರಣವನ್ನು ನಿರ್ಲಕ್ಷಿಸಲು, ನಮ್ಮ ಕಾರ್ಯವನ್ನು ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಮಾಡಲು ನಾವು 3 ನೇ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು FALSE ಗೆ ಹೊಂದಿಸಿದ್ದೇವೆ:

      =RegExpMatch(A5, $A$2, FALSE)

      ಸಲಹೆಗಳು ಮತ್ತು ಟಿಪ್ಪಣಿಗಳು:

      • ಮೇಲಿನ ರಿಜೆಕ್ಸ್ ಏಕ-ಸಾಲಿನ ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗೆ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮಿಲ್ಟಿ-ಲೈನ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ಇನ್‌ಪುಟ್ ಸ್ಟ್ರಿಂಗ್‌ನ ಪ್ರಾರಂಭ ಮತ್ತು ಅಂತ್ಯದ ಬದಲಿಗೆ ^ ಮತ್ತು $ ಅಕ್ಷರಗಳು ಪ್ರತಿ ಸಾಲಿನ ಪ್ರಾರಂಭ ಮತ್ತು ಅಂತ್ಯಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ ರೆಜೆಕ್ಸ್ ಮೊದಲ ಸಾಲಿನಲ್ಲಿ ಮಾತ್ರ ಹುಡುಕುತ್ತದೆ.
      • ನಿರ್ದಿಷ್ಟ ಪಠ್ಯದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸದ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು , ^(?!lemons) ನಂತಹ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿ.*$
      • ಅಂತ್ಯವಾಗದ ನಿರ್ದಿಷ್ಟ ಪಠ್ಯದೊಂದಿಗೆ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು, ಸೇರಿಸಿಹುಡುಕಾಟ ಮಾದರಿಯಲ್ಲಿ ಅಂತ್ಯ ಸ್ಟ್ರಿಂಗ್ ಆಂಕರ್: ^((?!lemons$).)*$

      ಕೇಸ್ ಸೂಕ್ಷ್ಮವಲ್ಲದ ಹೊಂದಾಣಿಕೆ

      ಕ್ಲಾಸಿಕ್ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ, ಇದಕ್ಕಾಗಿ ವಿಶೇಷ ಮಾದರಿಯಿದೆ ಕೇಸ್-ಇನ್ಸೆನ್ಸಿಟಿವ್ ಮ್ಯಾಚಿಂಗ್ (?i), ಇದು VBA RegExp ನಲ್ಲಿ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಈ ಮಿತಿಯನ್ನು ನಿವಾರಿಸಲು, ನಮ್ಮ ಕಸ್ಟಮ್ ಕಾರ್ಯವು match_case ಹೆಸರಿನ 3 ನೇ ಐಚ್ಛಿಕ ವಾದವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಹೊಂದಾಣಿಕೆಯನ್ನು ಮಾಡಲು, ಅದನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿ.

      1-ಮಾರ್-22 ಅಥವಾ 01-ಮಾರ್-2022 ನಂತಹ ದಿನಾಂಕಗಳನ್ನು ಗುರುತಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ ಎಂದು ಹೇಳೋಣ. dd-mmm-yyyy ಮತ್ತು d-mmm-yy ಫಾರ್ಮ್ಯಾಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು, ನಾವು ಈ ಕೆಳಗಿನ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ.

      ಪ್ಯಾಟರ್ನ್ : \b\d{1,2}-(ಜನವರಿ10-ಅಂಕಿಯ ಅಥವಾ 100-ಅಂಕಿಯ ಸಂಖ್ಯೆಯನ್ನು ಒಳಗೊಂಡಂತೆ ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಅಂಕೆಗಳು. ನೀವು ಹುಡುಕುತ್ತಿರುವುದು ಇದಲ್ಲದಿದ್ದರೆ, ಗಡಿ \b ಅನ್ನು ಎರಡೂ ಬದಿಗಳಲ್ಲಿ ಇರಿಸಿ.

      ಪ್ಯಾಟರ್ನ್ : \b\d{7}\b

      =RegExpMatch(A5:A9, "\b\d{7}\b")

      ಫೋನ್ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿಸಲು Regex

      ಫೋನ್ ಸಂಖ್ಯೆಗಳನ್ನು ವಿವಿಧ ಸ್ವರೂಪಗಳಲ್ಲಿ ಬರೆಯಬಹುದಾದ್ದರಿಂದ, ಅವುಗಳನ್ನು ಹೊಂದಿಸಲು ಹೆಚ್ಚು ಅತ್ಯಾಧುನಿಕ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಅಗತ್ಯವಿರುತ್ತದೆ.

      ಕೆಳಗಿನ ಡೇಟಾಸೆಟ್‌ನಲ್ಲಿ, ನಾವು ಮೊದಲ 2 ಗುಂಪುಗಳಲ್ಲಿ 3 ಅಂಕೆಗಳನ್ನು ಮತ್ತು ಕೊನೆಯ ಗುಂಪಿನಲ್ಲಿ 4 ಅಂಕೆಗಳನ್ನು ಹೊಂದಿರುವ 10-ಅಂಕಿಯ ಸಂಖ್ಯೆಗಳನ್ನು ಹುಡುಕುತ್ತಿದ್ದೇವೆ. ಗುಂಪುಗಳನ್ನು ಅವಧಿ, ಹೈಫನ್ ಅಥವಾ ಸ್ಥಳದೊಂದಿಗೆ ಬೇರ್ಪಡಿಸಬಹುದು. ಮೊದಲ ಗುಂಪನ್ನು ಆವರಣಗಳಲ್ಲಿ ಲಗತ್ತಿಸಿರಬಹುದು ಅಥವಾ ಇಲ್ಲದಿರಬಹುದು.

      ಮಾದರಿ: (\(\d{3}\)

    ಮೈಕೆಲ್ ಬ್ರೌನ್ ಸಾಫ್ಟ್‌ವೇರ್ ಪರಿಕರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಕೀರ್ಣ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸರಳಗೊಳಿಸುವ ಉತ್ಸಾಹವನ್ನು ಹೊಂದಿರುವ ಮೀಸಲಾದ ತಂತ್ರಜ್ಞಾನ ಉತ್ಸಾಹಿ. ಟೆಕ್ ಉದ್ಯಮದಲ್ಲಿ ಒಂದು ದಶಕಕ್ಕೂ ಹೆಚ್ಚು ಅನುಭವದೊಂದಿಗೆ, ಅವರು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಎಕ್ಸೆಲ್ ಮತ್ತು ಔಟ್‌ಲುಕ್, ಹಾಗೆಯೇ ಗೂಗಲ್ ಶೀಟ್‌ಗಳು ಮತ್ತು ಡಾಕ್ಸ್‌ನಲ್ಲಿ ತಮ್ಮ ಕೌಶಲ್ಯಗಳನ್ನು ಹೆಚ್ಚಿಸಿದ್ದಾರೆ. ಮೈಕೆಲ್ ಅವರ ಬ್ಲಾಗ್ ತನ್ನ ಜ್ಞಾನ ಮತ್ತು ಪರಿಣತಿಯನ್ನು ಇತರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಸಮರ್ಪಿಸಲಾಗಿದೆ, ಉತ್ಪಾದಕತೆ ಮತ್ತು ದಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸಲು ಸುಲಭವಾಗಿ ಅನುಸರಿಸಲು ಸಲಹೆಗಳು ಮತ್ತು ಟ್ಯುಟೋರಿಯಲ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ನೀವು ಅನುಭವಿ ವೃತ್ತಿಪರರಾಗಿರಲಿ ಅಥವಾ ಹರಿಕಾರರಾಗಿರಲಿ, ಮೈಕೆಲ್ ಅವರ ಬ್ಲಾಗ್ ಅಮೂಲ್ಯವಾದ ಒಳನೋಟಗಳನ್ನು ಮತ್ತು ಈ ಅಗತ್ಯ ಸಾಫ್ಟ್‌ವೇರ್ ಪರಿಕರಗಳಿಂದ ಹೆಚ್ಚಿನದನ್ನು ಪಡೆಯಲು ಪ್ರಾಯೋಗಿಕ ಸಲಹೆಯನ್ನು ನೀಡುತ್ತದೆ.