Regex ಟೆಸ್ಟರ್
ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್ಪ್ರೆಶನ್ ಮತ್ತು ಸ್ವಲ್ಪ ಟೆಕ್ಸ್ಟ್ ಟೈಪ್ ಮಾಡಿ; ನೀವು ಟೈಪ್ ಮಾಡುತ್ತಿದ್ದಂತೆ ಪ್ರತಿ ಮ್ಯಾಚ್ ಮತ್ತು ಕ್ಯಾಪ್ಚರ್ ಗ್ರೂಪ್ ಹೈಲೈಟ್ ಆಗುತ್ತದೆ, ಅಥವಾ ರಿಪ್ಲೇಸ್ ಮಾಡಿ ನೋಡಿ. ಪುಟ ಹ್ಯಾಂಗ್ ಆಗುವಂತೆ ಮಾಡುವ ಪ್ಯಾಟರ್ನ್ಗಳನ್ನು ನಿಲ್ಲಿಸಲಾಗುತ್ತದೆ.
ಒಂದು ಉದಾಹರಣೆ ಪ್ರಯತ್ನಿಸಿ
ಮ್ಯಾಚ್ಗಳು
ಅದು ಏನನ್ನು ಮ್ಯಾಚ್ ಮಾಡುತ್ತದೆ ಎಂದು ನೋಡಲು ಪ್ಯಾಟರ್ನ್ ಟೈಪ್ ಮಾಡಿ.
ತ್ವರಿತ ಮಾರ್ಗದರ್ಶಿ
\d- ಒಂದು ಅಂಕಿ, 0 ರಿಂದ 9
\w- ಒಂದು ಅಕ್ಷರ, ಅಂಕಿ ಅಥವಾ ಅಂಡರ್ಸ್ಕೋರ್ (ಇಂಗ್ಲಿಷ್ ಅಕ್ಷರಗಳು ಮಾತ್ರ)
\s- ಒಂದು ಸ್ಪೇಸ್, ಟ್ಯಾಬ್ ಅಥವಾ ಲೈನ್ ಬ್ರೇಕ್
.- ಲೈನ್ ಬ್ರೇಕ್ ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಅಕ್ಷರ (s ಇದ್ದರೆ, ಯಾವುದೇ ಅಕ್ಷರ)
^- ಟೆಕ್ಸ್ಟ್ನ ಆರಂಭ (m ಇದ್ದರೆ, ಪ್ರತಿ ಸಾಲಿನ ಆರಂಭ)
$- ಟೆಕ್ಸ್ಟ್ನ ಅಂತ್ಯ (m ಇದ್ದರೆ, ಪ್ರತಿ ಸಾಲಿನ ಅಂತ್ಯ)
\b- ಪದದ ಅಂಚು
*- ಹಿಂದಿನದು, ಎಷ್ಟು ಬಾರಿಯಾದರೂ, ಒಮ್ಮೆಯೂ ಇಲ್ಲದಿದ್ದರೂ ಸರಿ
+- ಹಿಂದಿನದು, ಒಮ್ಮೆ ಅಥವಾ ಹೆಚ್ಚು ಬಾರಿ
?- ಹಿಂದಿನದು, ಅಥವಾ ಏನೂ ಇಲ್ಲ; * ಅಥವಾ + ನಂತರ ಬಂದರೆ, ಸಾಧ್ಯವಾದಷ್ಟು ಕಡಿಮೆ
{n,m}- ಹಿಂದಿನದು, n ರಿಂದ m ಬಾರಿ
[abc]- a, b, c ಇವುಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದು
[^abc]- a, b, c ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಅಕ್ಷರ
a|b- a ಅಥವಾ b
(…)- ಗ್ರೂಪ್: ಒಟ್ಟಾಗಿ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ, ಮತ್ತು ಮ್ಯಾಚ್ನಲ್ಲಿ ಅದರ ಭಾಗ $1
(?<name>…)- ಹೆಸರಿರುವ ಗ್ರೂಪ್, $<name> ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ
(?:…)- ಸಂಖ್ಯೆ ಇಲ್ಲದ ಗ್ರೂಪ್
\1- ಗ್ರೂಪ್ 1 ಮ್ಯಾಚ್ ಮಾಡಿದ ಅದೇ ಟೆಕ್ಸ್ಟ್
(?=…)- ನಂತರ … ಇರಬೇಕು, ಅದು ಮ್ಯಾಚ್ನ ಭಾಗವಲ್ಲ
(?!…)- ನಂತರ … ಇರಬಾರದು
(?<=…)- ಮೊದಲು … ಇರಬೇಕು, ಅದು ಮ್ಯಾಚ್ನ ಭಾಗವಲ್ಲ
(?<!…)- ಮೊದಲು … ಇರಬಾರದು
ಬಳಸುವುದು ಹೇಗೆ
- 1ಸ್ಲ್ಯಾಶ್ಗಳಿಲ್ಲದೆ ನಿಮ್ಮ ಪ್ಯಾಟರ್ನ್ ಟೈಪ್ ಮಾಡಿ, ಮತ್ತು ಬೇಕಾದ ಫ್ಲ್ಯಾಗ್ಗಳನ್ನು ಟಿಕ್ ಮಾಡಿ, ಉದಾಹರಣೆಗೆ ಪ್ರತಿ ಮ್ಯಾಚ್ಗಾಗಿ g, ಅಥವಾ ಕ್ಯಾಪಿಟಲ್ ಮತ್ತು ಸಣ್ಣ ಅಕ್ಷರಗಳ ವ್ಯತ್ಯಾಸ ಬಿಡಲು i.
- 2ಟೆಸ್ಟ್ ಮಾಡಬೇಕಾದ ಟೆಕ್ಸ್ಟ್ ಪೇಸ್ಟ್ ಮಾಡಿ. ನೀವು ಟೈಪ್ ಮಾಡುತ್ತಿದ್ದಂತೆ ಮ್ಯಾಚ್ಗಳು ಹೈಲೈಟ್ ಆಗುತ್ತವೆ, ಮತ್ತು ಅವುಗಳ ಸ್ಥಾನ ಹಾಗೂ ಗ್ರೂಪ್ಗಳ ಸಹಿತ ಪಟ್ಟಿಯಲ್ಲಿ ಕಾಣಿಸುತ್ತವೆ.
- 3ರಿಪ್ಲೇಸ್ ಮಾಡಲು, “ರಿಪ್ಲೇಸ್” ಆಯ್ಕೆಮಾಡಿ ರಿಪ್ಲೇಸ್ಮೆಂಟ್ ಟೈಪ್ ಮಾಡಿ: $1 ಅಥವಾ $<name> ಒಂದು ಗ್ರೂಪ್ ಅನ್ನು, $& ಇಡೀ ಮ್ಯಾಚ್ ಅನ್ನು ಹಾಕುತ್ತದೆ.
- 4ಎಲ್ಲಿಂದ ಶುರು ಮಾಡಬೇಕು ಎಂದು ಗೊತ್ತಿಲ್ಲವೇ? “ಭಾರತೀಯ ಮೊಬೈಲ್ ಸಂಖ್ಯೆ” ಅಥವಾ “PIN ಕೋಡ್” ಹೀಗಿರುವ ಒಂದು ಉದಾಹರಣೆ ಒತ್ತಿ.
ಪದೇ ಪದೇ ಕೇಳುವ ಪ್ರಶ್ನೆಗಳು
ಈ ಟೆಸ್ಟರ್ ಯಾವ regex ಫ್ಲೇವರ್ ಬಳಸುತ್ತದೆ?
JavaScriptನದು, ನಿಮ್ಮ ಬ್ರೌಸರ್ನ RegExp ರನ್ ಮಾಡುವಂತೆಯೇ, ಹಾಗಾಗಿ ಇಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಪ್ಯಾಟರ್ನ್ JavaScript ಮತ್ತು TypeScript ಕೋಡ್ನಲ್ಲೂ ಹಾಗೆಯೇ ಕೆಲಸ ಮಾಡುತ್ತದೆ. Python, PHP, Java ಮತ್ತು .NET ಹೆಚ್ಚಾಗಿ ಇದರಂತೆಯೇ ಇವೆ, ಆದರೆ ಲುಕ್ಬಿಹೈಂಡ್, ಹೆಸರಿರುವ ಗ್ರೂಪ್ಗಳು ಮತ್ತು ಫ್ಲ್ಯಾಗ್ಗಳಂತಹ ಕೆಲವು ಕಡೆ ಭಿನ್ನವಾಗಿವೆ.
ನನ್ನ regex ಏಕೆ ಪುಟವನ್ನು ಹ್ಯಾಂಗ್ ಮಾಡುತ್ತದೆ ಅಥವಾ ಟೈಮ್ಔಟ್ ಆಗುತ್ತದೆ?
(a+)+$ ಹೀಗಿರುವ ಕೆಲವು ಪ್ಯಾಟರ್ನ್ಗಳು, ಸೋಲೊಪ್ಪುವ ಮೊದಲು ಮ್ಯಾಚ್ ಮಾಡಲು ಎಂಜಿನ್ ಅಪಾರ ಸಂಖ್ಯೆಯ ದಾರಿಗಳನ್ನು ಪ್ರಯತ್ನಿಸುವಂತೆ ಮಾಡುತ್ತವೆ: ಇದನ್ನು catastrophic backtracking ಎನ್ನುತ್ತಾರೆ. ಇಲ್ಲಿ ಪ್ರತಿ ಟೆಸ್ಟ್ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ನಡೆಯುತ್ತದೆ ಮತ್ತು 1 ಸೆಕೆಂಡಿನ ನಂತರ ನಿಲ್ಲಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ ಪುಟ ಎಂದಿಗೂ ಹ್ಯಾಂಗ್ ಆಗುವುದಿಲ್ಲ. ಒಳಗಿನ ಭಾಗ ಒಂದೇ ರೀತಿಯಲ್ಲಿ ಮ್ಯಾಚ್ ಆಗುವಂತೆ ಮಾಡಿ, ಉದಾಹರಣೆಗೆ (a+)+$ ಬದಲು a+$.
ರಿಪ್ಲೇಸ್ಮೆಂಟ್ನಲ್ಲಿ ಕ್ಯಾಪ್ಚರ್ ಗ್ರೂಪ್ ಬಳಸುವುದು ಹೇಗೆ?
ಮೊದಲ ಗ್ರೂಪ್ಗೆ $1, ಎರಡನೆಯದಕ್ಕೆ $2, ಮತ್ತು (?<name>…) ಮೂಲಕ ಹೆಸರಿಟ್ಟ ಗ್ರೂಪ್ಗೆ $<name> ಎಂದು ಬರೆಯಿರಿ. $& ಇಡೀ ಮ್ಯಾಚ್ ಅನ್ನು, $$ ಡಾಲರ್ ಚಿಹ್ನೆಯನ್ನು ಹಾಕುತ್ತದೆ. ದಿನಾಂಕದ ಉದಾಹರಣೆಯಲ್ಲಿ, $<year>-$<month>-$<day> 26/01/1950 ಅನ್ನು 1950-01-26 ಆಗಿ ಬದಲಿಸುತ್ತದೆ.
ಭಾರತೀಯ ಮೊಬೈಲ್ ಸಂಖ್ಯೆಗೆ regex ಯಾವುದು?
ಉದಾಹರಣೆಗಳಲ್ಲಿ “ಭಾರತೀಯ ಮೊಬೈಲ್ ಸಂಖ್ಯೆ” ಒತ್ತಿ: (?<!\d)(?:\+91[\s-]?|0)?[6-9]\d{4}[\s-]?\d{5}(?!\d) 6, 7, 8 ಅಥವಾ 9ರಿಂದ ಶುರುವಾಗುವ 10 ಅಂಕಿಯ ಸಂಖ್ಯೆಗಳನ್ನು ಹುಡುಕುತ್ತದೆ; ಮುಂದೆ +91 ಅಥವಾ 0 ಮತ್ತು ನಡುವೆ ಸ್ಪೇಸ್ ಇದ್ದರೂ ಇಲ್ಲದಿದ್ದರೂ.
ನನ್ನ ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಎಲ್ಲಿಗಾದರೂ ಕಳುಹಿಸಲಾಗುತ್ತದೆಯೇ?
ಇಲ್ಲ. ಪ್ಯಾಟರ್ನ್ ಮತ್ತು ಟೆಕ್ಸ್ಟ್ ಎಂದಿಗೂ ನಿಮ್ಮ ಬ್ರೌಸರ್ನಿಂದ ಹೊರಹೋಗುವುದಿಲ್ಲ, ಮತ್ತು ಏನನ್ನೂ ಸೇವ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಒಮ್ಮೆಗೆ 100,000 ಅಕ್ಷರಗಳವರೆಗಿನ ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಟೆಸ್ಟ್ ಮಾಡಬಹುದು, ಮತ್ತು ಮೊದಲ 1,000 ಮ್ಯಾಚ್ಗಳನ್ನು ಪಟ್ಟಿಮಾಡಿ ಹೈಲೈಟ್ ಮಾಡಲಾಗುತ್ತದೆ.
ಸಂಬಂಧಿತ ಟೂಲ್ಗಳು
- JSON ಫಾರ್ಮ್ಯಾಟರ್ ಮತ್ತು ವ್ಯಾಲಿಡೇಟರ್JSON ಫಾರ್ಮ್ಯಾಟ್, ಮಿನಿಫೈ ಮತ್ತು ವ್ಯಾಲಿಡೇಟ್ ಮಾಡಿ; ಯಾವುದೇ ತಪ್ಪನ್ನು ಅದರ ಸಾಲು ಮತ್ತು ಕಾಲಮ್ ಸಹಿತ ತೋರಿಸಲಾಗುತ್ತದೆ.
- Base64 ಡಿಕೋಡ್ ಮತ್ತು ಎನ್ಕೋಡ್Base64 ಟೆಕ್ಸ್ಟ್ ಮತ್ತು ಫೈಲ್ಗಳನ್ನು ಡಿಕೋಡ್ ಅಥವಾ ಎನ್ಕೋಡ್ ಮಾಡಿ; ಕನ್ನಡ, ಹಿಂದಿ ಮತ್ತು ಎಮೋಜಿ ಹಾಳಾಗದೆ ಉಳಿಯುತ್ತವೆ.
- JWT ಡಿಕೋಡರ್JSON ವೆಬ್ ಟೋಕನ್ ಡಿಕೋಡ್ ಮಾಡಿ, ಅದರ ಕ್ಲೇಮ್ಗಳು ಮತ್ತು ಎಕ್ಸ್ಪೈರಿ ಸಮಯ ಓದಿ, ಮತ್ತು ಸಿಗ್ನೇಚರ್ ವೆರಿಫೈ ಮಾಡಿ.
- UUID ಜನರೇಟರ್ರ್ಯಾಂಡಮ್ v4 ಅಥವಾ ಸಮಯ-ಕ್ರಮದ v7 UUIDಗಳನ್ನು ಒಂದು ಅಥವಾ ಒಮ್ಮೆಗೇ ಸಾವಿರಾರು ಮಾಡಿ, ಮತ್ತು ಯಾವುದೇ UUID ಪರಿಶೀಲಿಸಿ.