ಪೈಥಾನ್ 3 ರಲ್ಲಿನ ಮರು ಮಾಡ್ಯೂಲ್‌ಗಾಗಿ ದಾಖಲಾತಿ. ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗಾಗಿ ಮರು ಮಾಡ್ಯೂಲ್

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಯಾವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಅಂಶವಾಗಿದೆ. ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ತ್ವರಿತವಾಗಿ ಪ್ರವೇಶಿಸಲು ಅವರು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತಾರೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ, ಪಠ್ಯವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಅಗತ್ಯವಾದಾಗ ಅವುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಪೈಥಾನ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ವಿಶೇಷ ಮಾಡ್ಯೂಲ್‌ನೊಂದಿಗೆ ಬರುತ್ತದೆ. re, ಇದು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಕಾರಣವಾಗಿದೆ.

ಇಂದು ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಏನೆಂದು ವಿವರವಾಗಿ ಮಾತನಾಡುತ್ತೇವೆ, ಅವರೊಂದಿಗೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡುವುದು ಮತ್ತು ಮಾಡ್ಯೂಲ್ ಹೇಗೆ re ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು: ಒಂದು ಪರಿಚಯ

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಉಪಯೋಗಗಳೇನು? ಹೆಚ್ಚುಕಡಿಮೆ ಎಲ್ಲವೂ. ಉದಾಹರಣೆಗೆ, ಇವುಗಳು:

  1. ಪಠ್ಯ ಮೌಲ್ಯೀಕರಣದ ಅಗತ್ಯವಿರುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು. ಒಂದು ವಿಶಿಷ್ಟ ಉದಾಹರಣೆಯೆಂದರೆ ಆನ್‌ಲೈನ್ ಮೇಲ್ ಕ್ಲೈಂಟ್‌ಗಳು.
  2. ಪಠ್ಯಗಳು, ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು ಮುಂತಾದವುಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ಇತರ ಯೋಜನೆಗಳು.

ನಾವು ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ಗ್ರಂಥಾಲಯದ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಮೂಲ ತತ್ವಗಳನ್ನು ನಾವು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. re ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ, ಅದರ ಬಗ್ಗೆ ಸಾಮಾನ್ಯವಾಗಿ ಒಳ್ಳೆಯದು. ನಾವು ನೈಜ ಅಭ್ಯಾಸದಿಂದ ಉದಾಹರಣೆಗಳನ್ನು ಸಹ ನೀಡುತ್ತೇವೆ, ಅಲ್ಲಿ ನಾವು ಅವರ ಬಳಕೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ವಿವರಿಸುತ್ತೇವೆ. ನೀವು ಅಂತಹ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಬಹುದು, ಪಠ್ಯದೊಂದಿಗೆ ವಿವಿಧ ರೀತಿಯ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಸೂಕ್ತವಾಗಿದೆ.

ರೀ ಲೈಬ್ರರಿಯಲ್ಲಿ ಟೆಂಪ್ಲೇಟ್ ಎಂದರೇನು?

ಇದರೊಂದಿಗೆ, ಇತರ ಕಾರ್ಯಗಳನ್ನು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಮಾಡಲು ನೀವು ವಿವಿಧ ಪ್ರಕಾರಗಳ ಮಾಹಿತಿಯನ್ನು ಹುಡುಕಬಹುದು, ಅವುಗಳಿಗೆ ಅನುಗುಣವಾದ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಬಹುದು. ಮತ್ತು, ಸಹಜವಾಗಿ, ಈ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು.

ಉದಾಹರಣೆಗೆ, ಈ ಕೆಳಗಿನ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ: s+. ಇದರರ್ಥ ಯಾವುದೇ ಬಾಹ್ಯಾಕಾಶ ಪಾತ್ರ. ನೀವು ಅದಕ್ಕೆ ಪ್ಲಸ್ ಚಿಹ್ನೆಯನ್ನು ಸೇರಿಸಿದರೆ, ಇದರರ್ಥ ಮಾದರಿಯು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಜಾಗವನ್ನು ಒಳಗೊಂಡಿದೆ. ಜೊತೆಗೆ ಕರೆಯಲಾಗುವ ಟ್ಯಾಬ್ ಅಕ್ಷರಗಳನ್ನು ಸಹ ಇದು ಹೊಂದಿಸಬಹುದು t+.

ಅವುಗಳನ್ನು ಬಳಸುವ ಮೊದಲು, ನೀವು ಗ್ರಂಥಾಲಯವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಬೇಕು Re. ಅದರ ನಂತರ, ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ನಾವು ವಿಶೇಷ ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ. ಇದನ್ನು ಎರಡು ಹಂತಗಳಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ.

>>> ಮರು ಆಮದು

>>> regex = re.compile('s+')

ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಈ ಕೋಡ್ ಬಳಸಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಸ್ಪೇಸ್‌ಗಳನ್ನು ಹುಡುಕಲು (ಒಂದು ಅಥವಾ ಹೆಚ್ಚು).

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಿವಿಧ ತಂತಿಗಳಿಂದ ಪ್ರತ್ಯೇಕ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವುದು

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

>>> ಪಠ್ಯ = """100 INF ಇನ್ಫರ್ಮ್ಯಾಟಿಕ್ಸ್

213 MAT ಗಣಿತ  

156 ENG ಇಂಗ್ಲೀಷ್»»»

ಇದು ಮೂರು ತರಬೇತಿ ಕೋರ್ಸ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದೂ ಮೂರು ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ - ಸಂಖ್ಯೆ, ಕೋಡ್ ಮತ್ತು ಹೆಸರು. ಈ ಪದಗಳ ನಡುವಿನ ಮಧ್ಯಂತರವು ವಿಭಿನ್ನವಾಗಿದೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ. ಈ ಸಾಲನ್ನು ಪ್ರತ್ಯೇಕ ಸಂಖ್ಯೆಗಳು ಮತ್ತು ಪದಗಳಾಗಿ ಒಡೆಯಲು ಏನು ಮಾಡಬೇಕು? ಈ ಗುರಿಯನ್ನು ಸಾಧಿಸಲು ಎರಡು ವಿಧಾನಗಳಿವೆ:

  1. ಒಂದು ಕಾರ್ಯವನ್ನು ಕರೆಯಿರಿ ಪುನಃ ವಿಭಜನೆ.
  2. ಕಾರ್ಯವನ್ನು ಅನ್ವಯಿಸಿ ವಿಭಜನೆ ಫಾರ್ ರಿಜೆಕ್ಸ್.

ನಮ್ಮ ವೇರಿಯಬಲ್‌ಗಾಗಿ ಪ್ರತಿಯೊಂದು ವಿಧಾನಗಳ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸುವ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ.

>>> re.split('s+', text)  

# ಅಥವಾ

>>> regex.split(ಪಠ್ಯ)

ಔಟ್‌ಪುಟ್: ['100', 'INF', 'ಕಂಪ್ಯೂಟರ್ ಸೈನ್ಸ್', '213', 'MAT', 'Math', '156', 'ENG', 'ಇಂಗ್ಲಿಷ್']

ಸಾಮಾನ್ಯವಾಗಿ, ಎರಡೂ ವಿಧಾನಗಳನ್ನು ಬಳಸಬಹುದು. ಆದರೆ ಕಾರ್ಯವನ್ನು ಅನೇಕ ಬಾರಿ ಬಳಸುವ ಬದಲು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸುವುದು ತುಂಬಾ ಸುಲಭ. ಪುನಃ ವಿಭಜನೆ.

ಮೂರು ಕಾರ್ಯಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವುದು

ನಾವು ಸ್ಟ್ರಿಂಗ್‌ನಿಂದ ಸಂಖ್ಯೆಗಳನ್ನು ಮಾತ್ರ ಹೊರತೆಗೆಯಬೇಕು ಎಂದು ಹೇಳೋಣ. ಇದಕ್ಕಾಗಿ ಏನು ಮಾಡಬೇಕು?

re.findall()

ಕಾರ್ಯಕ್ಕಾಗಿ ಬಳಕೆಯ ಸಂದರ್ಭ ಇಲ್ಲಿದೆ Findall(), ಇದು ಸಾಮಾನ್ಯ ಅಭಿವ್ಯಕ್ತಿಗಳೊಂದಿಗೆ, ಪಠ್ಯ ವೇರಿಯಬಲ್‌ನಿಂದ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಗಳ ಸಂಭವಿಸುವಿಕೆಯನ್ನು ಹೊರತೆಗೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

>>> ಮುದ್ರಣ (ಪಠ್ಯ)  

100 INF ಇನ್ಫರ್ಮ್ಯಾಟಿಕ್ಸ್

213 MAT ಗಣಿತ  

156 ENG ಇಂಗ್ಲೀಷ್

>>> regex_num = re.compile('d+')  

>>> regex_num.findall(ಪಠ್ಯ)  

['100', '213', '156']

d ಚಿಹ್ನೆಯೊಂದಿಗೆ, ವೇರಿಯಬಲ್ ಅಥವಾ ಪಠ್ಯದಲ್ಲಿರುವ ಯಾವುದೇ ಸಂಖ್ಯಾತ್ಮಕ ಮೌಲ್ಯವನ್ನು ಸೂಚಿಸುವ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ನಾವು ಬಳಸಿದ್ದೇವೆ. ಮತ್ತು ನಾವು ಅಲ್ಲಿ ಒಂದು + ಅನ್ನು ಸೇರಿಸಿರುವುದರಿಂದ, ಕನಿಷ್ಠ ಒಂದು ಸಂಖ್ಯೆಯು ಇರಬೇಕು ಎಂದರ್ಥ. 

ಹೊಂದಾಣಿಕೆಯನ್ನು ಕಂಡುಹಿಡಿಯಲು ಅಂಕಿಗಳ ಉಪಸ್ಥಿತಿಯು ಅಗತ್ಯವಿಲ್ಲ ಎಂದು ಸೂಚಿಸಲು ನೀವು * ಚಿಹ್ನೆಯನ್ನು ಸಹ ಬಳಸಬಹುದು.

ಆದರೆ ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು + ಅನ್ನು ಬಳಸಿದಾಗಿನಿಂದ, ನಾವು ಹೊರತೆಗೆಯುತ್ತೇವೆ Findall() ಪಠ್ಯದಿಂದ ಕೋರ್ಸ್‌ಗಳ 1 ಅಥವಾ ಹೆಚ್ಚಿನ ಡಿಜಿಟಲ್ ಪದನಾಮಗಳು. ಹೀಗಾಗಿ, ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ಸಾಮಾನ್ಯ ಅಭಿವ್ಯಕ್ತಿಗಳು ಕಾರ್ಯಕ್ಕಾಗಿ ಸೆಟ್ಟಿಂಗ್ಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.

re.search() vs ಮರುಪಂದ್ಯ()

ಕಾರ್ಯಗಳ ಹೆಸರಿನಿಂದ ನೀವು ಊಹಿಸುವಂತೆ, ಪಠ್ಯದಲ್ಲಿ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಮೊದಲ ಹುಡುಕಾಟಗಳು. ಪ್ರಶ್ನೆ: ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು ಹುಡುಕಲು? ಅಂಶವೆಂದರೆ ಅದು ಮಾದರಿಗೆ ಹೊಂದಿಕೆಯಾಗುವ ನಿರ್ದಿಷ್ಟ ವಸ್ತುವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ಹಿಂದಿನ ಕಾರ್ಯದಂತೆ ಪಟ್ಟಿಯ ರೂಪದಲ್ಲಿ ಕಂಡುಬರುವ ಫಲಿತಾಂಶಗಳ ಸಂಪೂರ್ಣ ಅನುಕ್ರಮವಲ್ಲ.

ಪ್ರತಿಯಾಗಿ, re.match ಕಾರ್ಯವು ಅದೇ ರೀತಿ ಮಾಡುತ್ತದೆ. ಸಿಂಟ್ಯಾಕ್ಸ್ ಮಾತ್ರ ವಿಭಿನ್ನವಾಗಿದೆ. ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಇರಿಸಬೇಕು. 

ಇದನ್ನು ಪ್ರದರ್ಶಿಸುವ ಉದಾಹರಣೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ.

>>> # ಪಠ್ಯದೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಚಿಸಿ

>>> text2 = «»»INF ಇನ್ಫರ್ಮ್ಯಾಟಿಕ್ಸ್

213 MAT ಗಣಿತ 156″»»  

>>> # ರಿಜೆಕ್ಸ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಮಾದರಿಗಳಿಗಾಗಿ ನೋಡಿ

>>> regex_num = re.compile('d+')  

>>> s = regex_num.search(text2)  

>>> ಮುದ್ರಣ ('ಮೊದಲ ಸೂಚ್ಯಂಕ: ', s.start())  

>>> ಮುದ್ರಣ('ಕೊನೆಯ ಸೂಚ್ಯಂಕ: ', s.end())  

>>> ಮುದ್ರಣ(ಪಠ್ಯ2[s.start():s.end()]) 

ಮೊದಲ ಸೂಚ್ಯಂಕ: 17 

ಕೊನೆಯ ಸೂಚ್ಯಂಕ: 20

213

ನೀವು ಇದೇ ರೀತಿಯ ಫಲಿತಾಂಶವನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಪಡೆಯಲು ಬಯಸಿದರೆ, ನೀವು ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು ಗುಂಪು().

ಪಠ್ಯದ ಭಾಗವನ್ನು ಮರು ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ

ಪಠ್ಯವನ್ನು ಬದಲಿಸಲು, ಕಾರ್ಯವನ್ನು ಬಳಸಿ re.sub(). ನಮ್ಮ ಕೋರ್ಸ್‌ಗಳ ಪಟ್ಟಿ ಸ್ವಲ್ಪ ಬದಲಾಗಿದೆ ಎಂದು ಭಾವಿಸೋಣ. ಪ್ರತಿ ಡಿಜಿಟಲ್ ಮೌಲ್ಯದ ನಂತರ ನಾವು ಟ್ಯಾಬ್ ಅನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ. ಈ ಎಲ್ಲಾ ಅನುಕ್ರಮವನ್ನು ಒಂದು ಸಾಲಿನಲ್ಲಿ ಸಂಯೋಜಿಸುವುದು ನಮ್ಮ ಕಾರ್ಯವಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು, ನಾವು ಅಭಿವ್ಯಕ್ತಿ s+ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ ದಾಟಿಹೊಗಲು 

ಮೂಲ ಪಠ್ಯ ಹೀಗಿತ್ತು:

# ಪಠ್ಯದೊಂದಿಗೆ ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಚಿಸಿ

>>> ಪಠ್ಯ = """100 INF t ಇನ್ಫರ್ಮ್ಯಾಟಿಕ್ಸ್

213 MAT ಟಿ ಮಠ  

156 ENG t ಇಂಗ್ಲೀಷ್»»»  

>>> ಮುದ್ರಣ (ಪಠ್ಯ)  

100 ಮಾಹಿತಿ ಮಾಹಿತಿ

213 MAT ಗಣಿತ  

156 ಇಂಜಿ ಇಂಗ್ಲೀಷ್

ಬಯಸಿದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸಲು, ನಾವು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಸಾಲುಗಳನ್ನು ಬಳಸಿದ್ದೇವೆ.

# ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸ್ಥಳಗಳನ್ನು 1 ನೊಂದಿಗೆ ಬದಲಾಯಿಸಿ

>>> regex = re.compile('s+')  

>>> ಪ್ರಿಂಟ್(regex.sub(' ', text))  

ಪರಿಣಾಮವಾಗಿ, ನಮಗೆ ಒಂದು ಸಾಲು ಇದೆ. 

101 COM ಕಂಪ್ಯೂಟರ್‌ಗಳು 205 MAT ಗಣಿತ 189 ENG ಇಂಗ್ಲಿಷ್

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

ಗ್ರಂಥಾಲಯ Re ನಕಾರಾತ್ಮಕ ಹೊಂದಾಣಿಕೆಯಂತಹ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇದು ಸ್ಲ್ಯಾಷ್‌ನ ಮೊದಲು ಆಶ್ಚರ್ಯಸೂಚಕ ಬಿಂದುವನ್ನು ಒಳಗೊಂಡಿರುವ ನೇರವಾದ ಒಂದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ. ಅಂದರೆ, ನಾವು ಹೊಸ ಸಾಲಿನ ಅಕ್ಷರವನ್ನು ಬಿಟ್ಟುಬಿಡಬೇಕಾದರೆ, ನಾವು n ಬದಲಿಗೆ !n ಅನ್ನು ಬರೆಯಬೇಕಾಗಿದೆ.

ನಾವು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ.

# ಹೊಸ ಲೈನ್ ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಸ್ಥಳಗಳನ್ನು ತೆಗೆದುಹಾಕಿ  

>>> regex = re.compile('(?!n)s+)')  

>>> ಪ್ರಿಂಟ್(regex.sub(' ', text))  

100 INF ಇನ್ಫರ್ಮ್ಯಾಟಿಕ್ಸ್

213 MAT ಗಣಿತ  

156 ENG ಇಂಗ್ಲೀಷ್

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಗುಂಪುಗಳು ಯಾವುವು?

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಗುಂಪುಗಳ ಸಹಾಯದಿಂದ, ನಾವು ಬಯಸಿದ ವಸ್ತುಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಅಂಶಗಳ ರೂಪದಲ್ಲಿ ಪಡೆಯಬಹುದು, ಮತ್ತು ಒಂದು ಸಾಲಿನಲ್ಲಿ ಅಲ್ಲ. 

ನಾವು ಕೋರ್ಸ್ ಸಂಖ್ಯೆ, ಕೋಡ್ ಮತ್ತು ಹೆಸರನ್ನು ಒಂದೇ ಸಾಲಿನಲ್ಲಿ ಪಡೆಯಬೇಕು ಎಂದು ಭಾವಿಸೋಣ, ಆದರೆ ಪ್ರತ್ಯೇಕ ಅಂಶಗಳಾಗಿ. ಕಾರ್ಯವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು, ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಅನಗತ್ಯ ಕೋಡ್ ಸಾಲುಗಳನ್ನು ಬರೆಯಬೇಕಾಗುತ್ತದೆ. 

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

ಬಹಳ ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಸಾಲುಗಳು ಇರುತ್ತವೆ. 

# ಪಠ್ಯ ಟೆಂಪ್ಲೇಟ್‌ಗಳ ಗುಂಪುಗಳನ್ನು ರಚಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ

>>> course_pattern = '([0-9]+)s*([A-ZY]{3})s*([a-zA-ZoY]{4,})'  

>>> re.findall(course_pattern, text)  

[('100', 'INF', 'ಕಂಪ್ಯೂಟರ್ ಸೈನ್ಸ್'), ('213', 'MAT', 'Math'), ('156', 'ENG', 'ಇಂಗ್ಲಿಷ್')]

"ದುರಾಸೆಯ" ಹೊಂದಾಣಿಕೆಯ ಪರಿಕಲ್ಪನೆ

ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪ್ರಕಾರ, ಗರಿಷ್ಟ ಪ್ರಮಾಣದ ಹೊಂದಾಣಿಕೆಯ ಡೇಟಾವನ್ನು ಹೊರತೆಗೆಯಲು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗುತ್ತದೆ. ಮತ್ತು ನಿಮಗೆ ಕಡಿಮೆ ಅಗತ್ಯವಿದ್ದರೂ ಸಹ.

ನಾವು ಟ್ಯಾಗ್ ಅನ್ನು ಪಡೆಯಬೇಕಾದ ಮಾದರಿ HTML ಕೋಡ್ ಅನ್ನು ನೋಡೋಣ.

>>> ಪಠ್ಯ = “ದುರಾಸೆಯ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಹೊಂದಾಣಿಕೆಯ ಉದಾಹರಣೆ”  

>>> re.findall('', text)  

['ದುರಾಸೆಯ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಹೊಂದಾಣಿಕೆಯ ಉದಾಹರಣೆ']

ಕೇವಲ ಒಂದು ಟ್ಯಾಗ್ ಅನ್ನು ಹೊರತೆಗೆಯುವ ಬದಲು, ಪೈಥಾನ್ ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಡೆದುಕೊಂಡಿದೆ. ಅದಕ್ಕಾಗಿಯೇ ಅದನ್ನು ದುರಾಸೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

ಮತ್ತು ಟ್ಯಾಗ್ ಅನ್ನು ಮಾತ್ರ ಪಡೆಯಲು ಏನು ಮಾಡಬೇಕು? ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಸೋಮಾರಿಯಾದ ಹೊಂದಾಣಿಕೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಅಂತಹ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು, ಮಾದರಿಯ ಅಂತ್ಯಕ್ಕೆ ಪ್ರಶ್ನಾರ್ಥಕ ಚಿಹ್ನೆಯನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ.

ನೀವು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಮತ್ತು ಇಂಟರ್ಪ್ರಿಟರ್ನ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯುತ್ತೀರಿ.

>>> re.findall('', text)  

[”, ”]

ಮೊದಲು ಎದುರಿಸಿದ ಘಟನೆಯನ್ನು ಮಾತ್ರ ಪಡೆಯಬೇಕಾದರೆ, ನಂತರ ವಿಧಾನವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಹುಡುಕಿ Kannada ().

re.search('', text).group()  

"

ನಂತರ ಆರಂಭಿಕ ಟ್ಯಾಗ್ ಮಾತ್ರ ಕಂಡುಬರುತ್ತದೆ.

ಜನಪ್ರಿಯ ಅಭಿವ್ಯಕ್ತಿ ಟೆಂಪ್ಲೇಟ್‌ಗಳು

ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಸಾಮಾನ್ಯ ಅಭಿವ್ಯಕ್ತಿ ಮಾದರಿಗಳನ್ನು ಹೊಂದಿರುವ ಟೇಬಲ್ ಇಲ್ಲಿದೆ.

ಪೈಥಾನ್ 3 ರಲ್ಲಿನ ಮರು ಮಾಡ್ಯೂಲ್‌ಗಾಗಿ ದಾಖಲಾತಿ. ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗಾಗಿ ಮರು ಮಾಡ್ಯೂಲ್

ತೀರ್ಮಾನ

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

ಅಂತಹ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅವರು ನಿಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತಾರೆ:

  1. ಇಮೇಲ್ ವಿಳಾಸ ಅಥವಾ ಫೋನ್ ಸಂಖ್ಯೆಯಂತಹ ಡೇಟಾದ ಸ್ವರೂಪವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು.
  2. ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಡೆಯುವುದು ಮತ್ತು ಅದನ್ನು ಹಲವಾರು ಸಣ್ಣ ತಂತಿಗಳಾಗಿ ವಿಭಜಿಸುವುದು.
  3. ಪಠ್ಯದೊಂದಿಗೆ ವಿವಿಧ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ, ಉದಾಹರಣೆಗೆ ಹುಡುಕುವುದು, ಅಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯುವುದು ಅಥವಾ ಅಕ್ಷರಗಳ ಭಾಗವನ್ನು ಬದಲಿಸುವುದು.

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

ಪ್ರತ್ಯುತ್ತರ ನೀಡಿ