ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ regex ಹೇಗೆ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತದೆ?
ಪ್ರತಿ JavaScript ರನ್ಟೈಮ್ ಸ್ಥಳೀಯ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಎಂಜಿನ್ ಒದಗಿಸುತ್ತದೆ — new RegExp(pattern, flags) ನಿಮ್ಮ ಮಾದರಿ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ, ನಂತರ String.prototype.match, String.prototype.replace, RegExp.prototype.exec ಮೊದಲಾದ ಮೆಥಡ್ಗಳು ಅದನ್ನು ಯಾವುದೇ ಇನ್ಪುಟ್ ಸ್ಟ್ರಿಂಗ್ ವಿರುದ್ಧ ಚಲಾಯಿಸುತ್ತವೆ. ಈ ಟೆಸ್ಟರ್ ಆ ಎಂಜಿನ್ ಅನ್ನು UI ನಲ್ಲಿ ಸುತ್ತಿ ಬ್ರೌಸರ್ ಬಿಡದೆ ಮಾದರಿ ಸಂಪಾದಿಸಲು, ಚಲಾಯಿಸಲು ಮತ್ತು ಪರಿಶೀಲಿಸಲು ಅನುವು ಮಾಡುತ್ತದೆ. ನೀವು ಟೈಪ್ ಮಾಡುವ ಏನೂ — ಮಾದರಿ, ಫ್ಲ್ಯಾಗ್ಗಳು, ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ ಅಥವಾ ಬದಲಿ — ನೆಟ್ವರ್ಕ್ ಮೂಲಕ ಕಳಿಸಲ್ಪಡುವುದಿಲ್ಲ.
Regex ಟೆಸ್ಟರ್ ಹೇಗೆ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತದೆ?
ಪೈಪ್ಲೈನ್ ಕೆಲವು ಸಣ್ಣ ಹಂತಗಳಿದ್ದು, ಪ್ರತಿ ಕೀಸ್ಟ್ರೋಕ್ನಲ್ಲಿ ಎಲ್ಲವೂ ಕ್ಲೈಂಟ್-ಸೈಡ್ನಲ್ಲಿ ಚಲಾಯಿಸುತ್ತವೆ (ಟೈಪ್ ಮಾಡುವ ಸ್ಥಿತಿಸ್ಥಾಪಕತೆಗಾಗಿ 150 ms ಡೀಬೌನ್ಸ್):
- ನಿಮ್ಮ ಮಾದರಿ ಮೇಲಿನ ಇನ್ಪುಟ್ನಿಂದ ಓದಲಾಗುತ್ತದೆ (ಮೊದಲು ಅಥವಾ ಕಡೆಯಲ್ಲಿ
/ಡಿಲಿಮಿಟರ್ಗಳಿಲ್ಲ — ಅವು ಅಲಂಕಾರಿಕ). ಆಯ್ದ ಫ್ಲ್ಯಾಗ್ ಪಿಲ್ಗಳನ್ನುgiಅಥವಾgimsuyಮೊದಲಾದ ಫ್ಲ್ಯಾಗ್ ಸ್ಟ್ರಿಂಗ್ಗೆ ಸಂಯೋಜಿಸಲಾಗುತ್ತದೆ. new RegExp(patternBody, flags)ಮಾದರಿ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ. ಎಂಜಿನ್SyntaxErrorಎಸೆದರೆ, ಸಂದೇಶ ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ ಮೇಲೆ ತೋರಿಸಲಾಗಿ ಮ್ಯಾಚ್ ಪಟ್ಟಿ ತೆರವುಗೊಳಿಸಲಾಗುತ್ತದೆ.- ಮ್ಯಾಚ್ ಪಟ್ಟಿಗಾಗಿ, ಟೆಸ್ಟರ್ ಸಂಶ್ಲೇಷಿತ ಗ್ಲೋಬಲ್ ಫ್ಲ್ಯಾಗ್ನೊಂದಿಗೆ ಎಣಿಸುತ್ತದೆ —
gಆಫ್ ಮಾಡಿದರೂ ಪಟ್ಟಿ ಪ್ರತಿ ಮ್ಯಾಚ್ ತೋರಿಸುತ್ತದೆ. ರಿಪ್ಲೇಸ್ ಮೋಡ್ ನಿಮ್ಮ ನಿಜವಾದ ಫ್ಲ್ಯಾಗ್ ಸೆಟ್ ಗೌರವಿಸುತ್ತದೆ. - ಪ್ರತಿ ಇಟರೇಶನ್ನ ನಡುವೆ ಟೆಸ್ಟರ್
performance.now() - startಪರಿಶೀಲಿಸಿ 50 ms ಕಳೆದ ನಂತರ ರದ್ದುಗೊಳಿಸುತ್ತದೆ. ಇದು(a+)+$ಮೊದಲಾದ ವಿನಾಶಕಾರಿ ಬ್ಯಾಕ್ಟ್ರ್ಯಾಕಿಂಗ್ ವಿರುದ್ಧ ರಕ್ಷಿಸುತ್ತದೆ. - ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ ಪ್ರತಿ ಮ್ಯಾಚ್ನ ಶ್ರೇಣಿಯಲ್ಲಿ ವಿಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಲ್ಪಟ್ಟು ಮ್ಯಾಚ್ ವಿಭಾಗಗಳನ್ನು
<mark class="rx-match rx-cap-N">ಅಂಶಗಳಲ್ಲಿ ಸುತ್ತಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಮ್ಯಾಚ್ನ ಗುಂಪುಗಳು ಮತ್ತು ನಾಮಾಂಕಿತ ಗುಂಪುಗಳನ್ನು ಲೇಬಲ್ ಸಾಲುಗಳಾಗಿ ತೋರಿಸಲಾಗುತ್ತದೆ.
ಈ Regex ಟೆಸ್ಟರ್ ಏಕೆ ಬಳಸಬೇಕು?
- ಗೋಪ್ಯತೆ: ಪ್ರತಿ ಮಾದರಿ, ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ಬದಲಿ ಅಂತರ್ನಿರ್ಮಿತ JavaScript RegExp ಎಂಜಿನ್ ಬಳಸಿ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಚಲಾಯಿಸುತ್ತದೆ. ಟ್ಯಾಬ್ ಬಿಡುವುದಿಲ್ಲ — ಇನ್ಪುಟ್ ಗ್ರಾಹಕ ಲಾಗ್, ಸೋರಿದ ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಮಾದರಿ ಅಥವಾ ಹೋಸ್ಟ್ ಮಾಡಿದ SaaS regex ಆಟದ ಮೈದಾನಕ್ಕೆ ಅಂಟಿಸಲಾಗದ ಯಾವುದೇ ವಿಷಯ ಆದಾಗ ಮುಖ್ಯ.
- ನಿಜವಾದ ಫ್ಲೇವರ್: ಟೆಸ್ಟರ್ Node.js, Chrome, Safari, Firefox ಮತ್ತು ಪ್ರತಿ ಬ್ರೌಸರ್-ಆಧಾರಿತ ಫಾರ್ಮ್ ವ್ಯಾಲಿಡೇಟರ್ ಚಲಾಯಿಸುವ ನಿಖರ regex ಎಂಜಿನ್ ತೋರಿಸುತ್ತದೆ. Perl-ಫ್ಲೇವರ್ ಅನುವಾದ ಪದರ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸ ಮರೆಮಾಚಲ್ಲ — ಇಲ್ಲಿ ಕಾರ್ಯ ನಿರ್ವಹಿಸುವುದು ನಿಮ್ಮ ಕೋಡ್ನಲ್ಲೂ ಕಾರ್ಯ ನಿರ್ವಹಿಸುತ್ತದೆ.
- ಕ್ಯಾಪ್ಚರ್ ಮತ್ತು ನಾಮಾಂಕಿತ-ಗುಂಪು ಡೀಬಗ್ಗಿಂಗ್: ಪ್ರತಿ ಮ್ಯಾಚ್ಗೆ ಪ್ರತಿ ಸಂಖ್ಯಾ ಗುಂಪು (
$1,$2, …) ಮತ್ತು ನಾಮಾಂಕಿತ ಗುಂಪು ($<year>) ತೋರಿಸಲಾಗುತ್ತದೆ. ರಿಪ್ಲೇಸ್ ಮೋಡ್ ಗುಂಪುಗಳನ್ನು ಮುಕ್ತವಾಗಿ ಮಿಶ್ರ ಮಾಡಲು ಅನುವು ಮಾಡುತ್ತದೆ. - ವಿನಾಶಕಾರಿ-ಬ್ಯಾಕ್ಟ್ರ್ಯಾಕಿಂಗ್ ಗಾರ್ಡ್: ಎಣಿಸುವಿಕೆಯ ಮೇಲೆ 50 ms ಮಿತಿ
(a+)+$ಮೊದಲಾದ ರೋಗಕಾರಕ ಮಾದರಿಗಳನ್ನು ಟ್ಯಾಬ್ ಹೆಪ್ಪುಗಟ್ಟುವ ಮೊದಲು ರದ್ದುಗೊಳಿಸುತ್ತದೆ.
Regex ಟೆಸ್ಟರ್ನ ಸಾಮಾನ್ಯ ಅನ್ವಯಗಳು ಯಾವುವು?
ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ವೆಬ್ ಅಭಿವೃದ್ಧಿ, ಭದ್ರತೆ ಮತ್ತು ಡೇಟಾ ಕೆಲಸದಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ — ಈ ಟೆಸ್ಟರ್ ಸಾಮಾನ್ಯ ಬಳಕೆ ಪ್ರಕರಣಗಳನ್ನು ಗುರಿಯಾಗಿಸಿದೆ:
- ಫಾರ್ಮ್ ಮೌಲ್ಯೀಕರಣ: ಇಮೇಲ್, ಫೋನ್ ಅಥವಾ ಪೋಸ್ಟಲ್-ಕೋಡ್ ಮಾದರಿ ಮಾದರಿ ಮಾಡಿ, ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ಗೆ ಸ್ಯಾಂಪಲ್ ಇನ್ಪುಟ್ ಅಂಟಿಸಿ, ಉತ್ಪಾದನೆ ಕೋಡ್ಗೆ ಕಳಿಸುವ ಮೊದಲು ಪ್ರತಿ ಧನಾತ್ಮಕ ಪ್ರಕರಣ ಹೊಂದಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಋಣಾತ್ಮಕ ಪ್ರಕರಣ ಹೊಂದಿಸುವುದಿಲ್ಲ ಎಂದು ದೃಢೀಕರಿಸಿ.
- ಲಾಗ್ ಸ್ಕ್ರ್ಯಾಪಿಂಗ್: NGINX, ಅಪ್ಲಿಕೇಶನ್ ಅಥವಾ ಆಡಿಟ್-ಲಾಗ್ ಔಟ್ಪುಟ್ನ ತುಣುಕು ಅಂಟಿಸಿ, ನಿಮಗೆ ಬೇಕಾದ ಭಾಗಗಳಿಗೆ ನಾಮಾಂಕಿತ ಗುಂಪುಗಳೊಂದಿಗೆ ಮಾದರಿ ಬರೆಯಿರಿ, ಮತ್ತು ನಿಮ್ಮ ಪಾರ್ಸರ್ ಸರಿಯಾಗಿದೆ ಎಂದು ದೃಢೀಕರಿಸಲು ಮ್ಯಾಚ್ಗೆ ಕ್ಯಾಪ್ಚರ್ ಸ್ಲಾಟ್ಗಳನ್ನು ಓದಿ.
- ರಿಫ್ಯಾಕ್ಟರ್ ಹುಡುಕಾಟ-ಮತ್ತು-ಬದಲಿ: ತುಣುಕಿನಾದ್ಯಂತ ಗುರುತಿಕೆಗಳನ್ನು ಮರುಬರೆಯಲು ರಿಪ್ಲೇಸ್ ಮೋಡ್ ಬಳಸಿ — ಲೈವ್ ಪೂರ್ವಾವಲೋಕನ ಕೋಡ್ಮಾಡ್ಗೆ ನಿಯೋಜಿಸುವ ಮೊದಲು ಫಲಿತಾಂಶ ತೋರಿಸುತ್ತದೆ.
Regex ಉದಾಹರಣೆ ಹೇಗೆ ಕಾಣುತ್ತದೆ?
g ಫ್ಲ್ಯಾಗ್ನೊಂದಿಗೆ (\d{4})-(\d{2})-(\d{2}) ಮಾದರಿ ತೆಗೆದು, release 2025-11-15, prerelease 2026-05-25 ಪರೀಕ್ಷಾ ಸ್ಟ್ರಿಂಗ್ ವಿರುದ್ಧ ಚಲಾಯಿಸಿ. ಎಂಜಿನ್ ಎರಡು ಮ್ಯಾಚ್ ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಮೊದಲ ಮ್ಯಾಚ್ 2025-11-15 ಆಗಿದ್ದು ಗುಂಪು 1 = 2025, ಗುಂಪು 2 = 11, ಗುಂಪು 3 = 15. ರಿಪ್ಲೇಸ್ ಮೋಡ್ನಲ್ಲಿ, $3/$2/$1 ಟೆಂಪ್ಲೇಟ್ ಎರಡು ದಿನಾಂಕಗಳನ್ನೂ ISO-ನಿಂದ-DMY ಗೆ ಮರುಬರೆಯುತ್ತದೆ — ಮಾದರಿ ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಸೇರಿಸುವ ಮೊದಲು ದೃಷ್ಟಿಗೋಚರವಾಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ಒಂದು-ಮಾದರಿ ಪರಿವರ್ತನೆ.
ಯಾವುದೇ regex ಕೆಲಸಕ್ಕೆ — ನಿರ್ಮಿಸಲು, ಡೀಬಗ್ ಮಾಡಲು ಅಥವಾ ಮಾದರಿ ಮರುಬರೆಯಲು — ಈ ಟೆಸ್ಟರ್ ಅನ್ನು ತ್ವರಿತ ಮಾರ್ಗವಾಗಿ ಬಳಸಿ. ಎಲ್ಲವೂ ಸ್ಥಳೀಯವಾಗಿ ಚಲಾಯಿಸುತ್ತದೆ; ಏನೂ ಲಾಗ್ ಆಗುವುದಿಲ್ಲ; regex ಎಂಜಿನ್ ನಿಮ್ಮ ಬ್ರೌಸರ್ ಒದಗಿಸುವ ಏನಾದರೂ, ಆದ್ದರಿಂದ ನಡವಳಿಕೆ ರನ್ಟೈಮ್ನಲ್ಲಿ ಉತ್ಪಾದನೆ ಕೋಡ್ ನೋಡುವುದನ್ನು ಹೊಂದಿಸುತ್ತದೆ.