ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ಗಳಲ್ಲಿ ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್ಗಳು (Metacharacters)
ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್ಗಳು ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ಗಳಿಗೆ ವಿಶೇಷ ಶಕ್ತಿಯನ್ನು ನೀಡುವ ಕ್ಯಾರೆಕ್ಟರ್ಗಳಾಗಿವೆ. ಇವು ಸಾಮಾನ್ಯ ಅಕ್ಷರಗಳಂತೆ ತಮ್ಮಷ್ಟಕ್ಕೇ ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ, ಬದಲಾಗಿ ಪ್ಯಾಟರ್ನ್ಗಳನ್ನು ಹೇಗೆ ಮ್ಯಾಚ್ ಮಾಡಬೇಕು ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತವೆ.
1. . (ಡಾಟ್)
ಯಾವುದೇ ಒಂದು ಕ್ಯಾರೆಕ್ಟರ್ಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ (ನ್ಯೂಲೈನ್ \n ಹೊರತುಪಡಿಸಿ).
* ಪ್ಯಾಟರ್ನ್: c.t
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: cat, cot, c@t, c1t
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: ct, c \n t
2. ^ (ಕ್ಯಾರೆಟ್)
ಸ್ಟ್ರಿಂಗ್ನ ಪ್ರಾರಂಭಕ್ಕೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: ^Hello
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: "Hello World"
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: "World, Hello"
3. $ (ಡಾಲರ್)
ಸ್ಟ್ರಿಂಗ್ನ ಅಂತ್ಯಕ್ಕೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: World$
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: "Hello World"
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: "World, Hello"
4. * (ಆಸ್ಟರಿಸ್ಕ್)
ತನ್ನ ಹಿಂದಿನ ಕ್ಯಾರೆಕ್ಟರ್ 0 ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾದರೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: ab*c
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: ac (b 0 ಬಾರಿ), abc (b 1 ಬಾರಿ), abbbc (b 3 ಬಾರಿ)
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: axc
5. + (ಪ್ಲಸ್)
ತನ್ನ ಹಿಂದಿನ ಕ್ಯಾರೆಕ್ಟರ್ 1 ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾದರೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: ab+c
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: abc (b 1 ಬಾರಿ), abbbc (b 3 ಬಾರಿ)
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: ac (b 0 ಬಾರಿ)
6. ? (ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆ)
ತನ್ನ ಹಿಂದಿನ ಕ್ಯಾರೆಕ್ಟರ್ 0 ಅಥವಾ 1 ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾದರೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ. ಇದನ್ನು "ಆಪ್ಷನಲ್" ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: colou?r
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: color (u 0 ಬಾರಿ), colour (u 1 ಬಾರಿ)
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: colouur
7. {} (ಬ್ರೇಸಸ್) - ಕ್ವಾಂಟಿಫಯರ್
ತನ್ನ ಹಿಂದಿನ ಕ್ಯಾರೆಕ್ಟರ್ ಎಷ್ಟು ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾಗಬೇಕು ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
* {n}: ನಿಖರವಾಗಿ n ಬಾರಿ.
* \d{3}: ನಿಖರವಾಗಿ 3 ಅಂಕೆಗಳಿಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ (ಉದಾ: 123).
* {n,}: ಕನಿಷ್ಠ n ಬಾರಿ.
* \d{2,}: ಕನಿಷ್ಠ 2 ಅಂಕೆಗಳಿಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ (ಉದಾ: 12, 1234).
* {n,m}: ಕನಿಷ್ಠ n ಬಾರಿ ಮತ್ತು ಗರಿಷ್ಠ m ಬಾರಿ.
* \d{2,4}: 2, 3, ಅಥವಾ 4 ಅಂಕೆಗಳಿಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ (ಉದಾ: 12, 123, 1234).
8. [] (ಸ್ಕ್ವೇರ್ ಬ್ರಾಕೆಟ್ಸ್) - ಕ್ಯಾರೆಕ್ಟರ್ ಸೆಟ್
ಬ್ರಾಕೆಟ್ನೊಳಗಿನ ಯಾವುದೇ ಒಂದು ಕ್ಯಾರೆಕ್ಟರ್ಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: [aeiou]
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: a, e, i, o, u (ಯಾವುದಾದರೂ ಒಂದು).
* ಪ್ಯಾಟರ್ನ್: gr[ae]y
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: gray, grey.
ರೇಂಜ್ಗಳು:
* [a-z]: ಯಾವುದೇ ಒಂದು ಸಣ್ಣಕ್ಷರ.
* [A-Z]: ಯಾವುದೇ ಒಂದು ದೊಡ್ಡಕ್ಷರ.
* [0-9]: ಯಾವುದೇ ಒಂದು ಅಂಕೆ.
* [a-zA-Z0-9]: ಯಾವುದೇ ಒಂದು ಆಲ್ಫಾನ್ಯೂಮರಿಕ್ ಕ್ಯಾರೆಕ್ಟರ್.
ನೆಗೆಷನ್ (Negation):
ಸೆಟ್ನೊಳಗೆ ^ ಬಳಸಿದರೆ, ಅದು ಆ ಸೆಟ್ನಲ್ಲಿ ಇಲ್ಲದ ಯಾವುದೇ ಕ್ಯಾರೆಕ್ಟರ್ಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: [^aeiou]
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: ಸ್ವರಗಳಲ್ಲದ ಯಾವುದೇ ಕ್ಯಾರೆಕ್ಟರ್ (ಉದಾ: b, c, 1, @).
9. | (ಪೈಪ್) - ಆಲ್ಟರ್ನೇಶನ್ (OR)
ಎಡ ಅಥವಾ ಬಲ ಬದಿಯ ಪ್ಯಾಟರ್ನ್ಗೆ ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ.
* ಪ್ಯಾಟರ್ನ್: cat|dog
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: cat ಅಥವಾ dog.
10. () (ಪ್ಯಾರಂಥೆಸಿಸ್) - ಗ್ರೂಪಿಂಗ್
ಹಲವು ಕ್ಯಾರೆಕ್ಟರ್ಗಳನ್ನು ಒಂದು ಗ್ರೂಪ್ ಆಗಿ ಪರಿಗಣಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಕ್ವಾಂಟಿಫಯರ್ಗಳನ್ನು ಇಡೀ ಗ್ರೂಪ್ಗೆ ಅನ್ವಯಿಸಬಹುದು.
* ಪ್ಯಾಟರ್ನ್: (ab)+
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: ab, abab, ababab
* ವಿವರಣೆ: ab ಎಂಬ ಗ್ರೂಪ್ 1 ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾಗಬೇಕು.
ಗ್ರೂಪ್ಗಳನ್ನು ಮ್ಯಾಚ್ ಆದ ಭಾಗವನ್ನು ಕ್ಯಾಪ್ಚರ್ ಮಾಡಲು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ. ಇದನ್ನು ಮುಂದಿನ ಭಾಗದಲ್ಲಿ ವಿವರವಾಗಿ ನೋಡೋಣ.
11. \ (ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್) - ಎಸ್ಕೇಪ್ ಕ್ಯಾರೆಕ್ಟರ್
ಮೆಟಾಕ್ಯಾರೆಕ್ಟರ್ನ ವಿಶೇಷ ಅರ್ಥವನ್ನು ತೆಗೆದುಹಾಕಿ, ಅದನ್ನು ಲಿಟರಲ್ ಕ್ಯಾರೆಕ್ಟರ್ ಆಗಿ ಪರಿಗಣಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
* ನಿಮಗೆ . (ಡಾಟ್) ಕ್ಯಾರೆಕ್ಟರ್ಗೇ ಮ್ಯಾಚ್ ಮಾಡಬೇಕಿದ್ದರೆ, \. ಎಂದು ಬಳಸಬೇಕು.
* ನಿಮಗೆ + ಕ್ಯಾರೆಕ್ಟರ್ಗೇ ಮ್ಯಾಚ್ ಮಾಡಬೇಕಿದ್ದರೆ, \+ ಎಂದು ಬಳಸಬೇಕು.
* ಪ್ಯಾಟರ್ನ್: example\.com
* ಮ್ಯಾಚ್ ಆಗುತ್ತದೆ: example.com
* ಮ್ಯಾಚ್ ಆಗುವುದಿಲ್ಲ: example@com
ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಶ್ ಅನ್ನು \d, \w ಮುಂತಾದ ವಿಶೇಷ ಸೀಕ್ವೆನ್ಸ್ಗಳನ್ನು ರಚಿಸಲು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ.