Before labs 5
This commit is contained in:
parent
47c34989bc
commit
5cb32d1aa0
76
README.md
76
README.md
@ -248,3 +248,79 @@ E10 - E36 - po jedno dla każdego
|
||||
E37 - E43 - po jedno dla każdego
|
||||
|
||||
E44 - E48 - po jedno dla każdego
|
||||
|
||||
## Zajęcia 5 11.12.2023 Wyrażenia regularne 3
|
||||
|
||||
F00-F05 - po jedno dla każdego
|
||||
|
||||
Proszę o przekopiowanie sobie pliku polish_wiki_excerpt.in z zadania F00 do katalogów z pozostałymi zadaniami
|
||||
|
||||
#### RE SUB
|
||||
```
|
||||
re.sub(pattern, replacement, string)
|
||||
|
||||
re.sub('a','b', 'ala ma kota')
|
||||
```
|
||||
|
||||
#### backreferencje:
|
||||
|
||||
```
|
||||
|
||||
re.search(r' \d+ \d+', 'ala ma 41 41 kota')
|
||||
re.search(r' \d+ \d+', 'ala ma 41 123 kota')
|
||||
re.search(r' (\d+) \1', 'ala ma 41 41 kota')
|
||||
re.search(r' (\d+) \1', 'ala ma 41 123 kota')
|
||||
```
|
||||
|
||||
#### lookahead ( to sa takie assercje):
|
||||
```
|
||||
re.search(r'ma kot', 'ala ma kot')
|
||||
re.search(r'ma kot(?=[ay])', 'ala ma kot')
|
||||
re.search(r'ma kot(?=[ay])', 'ala ma kotka')
|
||||
re.search(r'ma kot(?=[ay])', 'ala ma koty')
|
||||
re.search(r'ma kot(?=[ay])', 'ala ma kota')
|
||||
|
||||
re.search(r'ma kot(?![ay])', 'ala ma kot')
|
||||
re.search(r'ma kot(?![ay])', 'ala ma kotka')
|
||||
re.search(r'ma kot(?![ay])', 'ala ma koty')
|
||||
re.search(r'ma kot(?![ay])', 'ala ma kota')
|
||||
```
|
||||
|
||||
#### named groups
|
||||
```
|
||||
r = re.search(r'ma (?P<ilepsow>\d+) kotow i (?P<ilekotow>\d+) psow', 'ala ma 100 kotow i 200 psow')
|
||||
r.groups()
|
||||
r.groups('ilepsow')
|
||||
r.groups('ilekotow')
|
||||
```
|
||||
|
||||
#### re.split
|
||||
```
|
||||
('a,b.c,d').split(',')
|
||||
('a,b.c,d').split(',')
|
||||
('a,b.c,d').split(',.')
|
||||
re.split(r',', 'a,b.c,d')
|
||||
re.split(r'[.,]', 'a,b.c,d')
|
||||
```
|
||||
#### \w word character
|
||||
```
|
||||
\w - matchuje Unicod word character , jeżeli flaga ASCII to [a-zA-Z0-9_]
|
||||
\w - odwrotne do \W, jezeli flaga ASCI to [^a-zA-Z0-9_]
|
||||
|
||||
re.findall(r'\w+', 'ala ma 3 koty.')
|
||||
re.findall(r'\W+', 'ala ma 3 koty.')
|
||||
```
|
||||
#### początek albo koniec słowa | word boundary
|
||||
```
|
||||
re.search(r'\bkot\b', 'Ala ma kota')
|
||||
re.search(r'\bkot\b', 'Ala ma kot')
|
||||
re.search(r'\bkot\b', 'Ala ma kot.')
|
||||
re.search(r'\bkot\b', 'Ala ma kot ')
|
||||
|
||||
re.search(r'\Bot\B', 'Ala ma kot ')
|
||||
re.search(r'\Bot\B', 'Ala ma kota ')
|
||||
```
|
||||
#### MULTILINE
|
||||
```
|
||||
re.findall(r'^Ma', 'Ma kota Ala\nMa psa Jacek')
|
||||
re.findall(r'^Ma', 'Ma kota Ala\nMa psa Jacek', re.MULTILINE)
|
21
TaskF00/description.txt
Normal file
21
TaskF00/description.txt
Normal file
@ -0,0 +1,21 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
Write a program to substitute all 4-digits string to 4-characters string.
|
||||
In the substituted string "0" should change to "a", "1" should change to "b", "2" should change to "c", etc.
|
||||
E.g. "1162" should change to "bbgc".
|
||||
In this task digit means [0-9] class.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF00/polish_wiki_excerpt.exp
Normal file
50000
TaskF00/polish_wiki_excerpt.exp
Normal file
File diff suppressed because one or more lines are too long
50000
TaskF00/polish_wiki_excerpt.in
Normal file
50000
TaskF00/polish_wiki_excerpt.in
Normal file
File diff suppressed because one or more lines are too long
3
TaskF00/simple.exp
Normal file
3
TaskF00/simple.exp
Normal file
@ -0,0 +1,3 @@
|
||||
dece 34 dfd gfd 5
|
||||
f33sdfsdbcdedsfsdf
|
||||
3r
|
3
TaskF00/simple.in
Normal file
3
TaskF00/simple.in
Normal file
@ -0,0 +1,3 @@
|
||||
3424 34 dfd gfd 5
|
||||
f33sdfsd1234dsfsdf
|
||||
3r
|
22
TaskF01/description.txt
Normal file
22
TaskF01/description.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
For each word with at least one lower case letter and one capital letter
|
||||
change every lower case letter to capital case and change every capital case
|
||||
letter to lower. In this task word means the string of "\w" metacharacters,
|
||||
lower case letter is [a-ząćęłńóśźż] class,
|
||||
capital case letter is [A-ZĄĆĘŁŃÓŚŹŻ] class.
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF01/polish_wiki_excerpt.exp
Normal file
50000
TaskF01/polish_wiki_excerpt.exp
Normal file
File diff suppressed because one or more lines are too long
3
TaskF01/simple.exp
Normal file
3
TaskF01/simple.exp
Normal file
@ -0,0 +1,3 @@
|
||||
ala mA KOTa
|
||||
lallaa
|
||||
żUK
|
3
TaskF01/simple.in
Normal file
3
TaskF01/simple.in
Normal file
@ -0,0 +1,3 @@
|
||||
ala Ma kotA
|
||||
lallaa
|
||||
Żuk
|
23
TaskF02/description.txt
Normal file
23
TaskF02/description.txt
Normal file
@ -0,0 +1,23 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
For each line write 4 digits separated by space "A B C D", where
|
||||
A stands for all lower case letters, B stands for
|
||||
all capital case letters, C stand for digit,
|
||||
D stands for all remaining characters excluding newline.
|
||||
In this task, lower case letter is [a-ząćęłńóśźż] class,
|
||||
capital case letter is [A-ZĄĆĘŁŃÓŚŹŻ] class.
|
||||
|
||||
POINTS: 1
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF02/polish_wiki_excerpt.exp
Normal file
50000
TaskF02/polish_wiki_excerpt.exp
Normal file
File diff suppressed because it is too large
Load Diff
3
TaskF02/simple.exp
Normal file
3
TaskF02/simple.exp
Normal file
@ -0,0 +1,3 @@
|
||||
7 2 0 2
|
||||
6 0 0 0
|
||||
6 1 1 2
|
3
TaskF02/simple.in
Normal file
3
TaskF02/simple.in
Normal file
@ -0,0 +1,3 @@
|
||||
ala Ma kotA
|
||||
lallaa
|
||||
Mam 2 żuki
|
24
TaskF03/description.txt
Normal file
24
TaskF03/description.txt
Normal file
@ -0,0 +1,24 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
For each line write 2 digits separated by space "A B", where
|
||||
A stands for all words starting with lower case letter,
|
||||
B stands for all words starting with capital case letter,
|
||||
In this task word means a string of "\w" metacharacters,
|
||||
lower case letter is [a-ząćęłńóśźż] class,
|
||||
capital case letter is [A-ZĄĆĘŁŃÓŚŹŻ] class capital case letter is [A-ZĄĆĘŁŃÓŚŹŻ] class.
|
||||
|
||||
|
||||
POINTS: 1
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF03/polish_wiki_excerpt.exp
Normal file
50000
TaskF03/polish_wiki_excerpt.exp
Normal file
File diff suppressed because it is too large
Load Diff
2
TaskF03/simple.exp
Normal file
2
TaskF03/simple.exp
Normal file
@ -0,0 +1,2 @@
|
||||
2 1
|
||||
1 0
|
2
TaskF03/simple.in
Normal file
2
TaskF03/simple.in
Normal file
@ -0,0 +1,2 @@
|
||||
Żmija i żuk.
|
||||
3daniowy obiad
|
20
TaskF04/description.txt
Normal file
20
TaskF04/description.txt
Normal file
@ -0,0 +1,20 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
Write the input line with the second digits string deleted.
|
||||
Digit is a [0-9] class.
|
||||
|
||||
|
||||
POINTS: 1
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF04/polish_wiki_excerpt.exp
Normal file
50000
TaskF04/polish_wiki_excerpt.exp
Normal file
File diff suppressed because one or more lines are too long
3
TaskF04/simple.exp
Normal file
3
TaskF04/simple.exp
Normal file
@ -0,0 +1,3 @@
|
||||
Mam 2 jabłka i banananów.
|
||||
Mam 2 jabłka i banananów oraz 20 gruszek.
|
||||
Widziałem 2 bociany.
|
3
TaskF04/simple.in
Normal file
3
TaskF04/simple.in
Normal file
@ -0,0 +1,3 @@
|
||||
Mam 2 jabłka i 35 banananów.
|
||||
Mam 2 jabłka i 35 banananów oraz 20 gruszek.
|
||||
Widziałem 2 bociany.
|
22
TaskF05/description.txt
Normal file
22
TaskF05/description.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Napisać program, który wczytuje kolejne wiersze ze standardowego
|
||||
wejścia i analizuje każdy wiersz (bez znaku końca wiersza). Należy w
|
||||
jak największym stopniu wykorzystać wyrażenia regularne (np. nie wolno
|
||||
użyć negacji jako operacji w danym języku programowania, jeśli da się
|
||||
to wyrazić w samym wyrażeniu regularnym). Tam, gdzie to możliwe należy
|
||||
użyć pojedynczego wyrażenia regularnego.
|
||||
|
||||
Write a program, which loads consecutive lines from standard input
|
||||
and analyze every line (with no newline character). You should
|
||||
use regular expressions to the greatest extent possible (e.g. you
|
||||
can not use negation in the programming language if it is
|
||||
possible to express the same in regular expression). Wherever possible,
|
||||
use one regular expression.
|
||||
|
||||
Write the input line with the third word changed to "xxx" string.
|
||||
The number of "x" in the "xxx" string should be the same as the
|
||||
the number of characters in the input string.
|
||||
In this task, a word means a string of "\w" metacharacters.
|
||||
|
||||
|
||||
POINTS: 2
|
||||
DEADLINE: 2024-01-07 23:59:59
|
50000
TaskF05/polish_wiki_excerpt.exp
Normal file
50000
TaskF05/polish_wiki_excerpt.exp
Normal file
File diff suppressed because one or more lines are too long
2
TaskF05/simple.exp
Normal file
2
TaskF05/simple.exp
Normal file
@ -0,0 +1,2 @@
|
||||
Mam 2 xxxxxx i 35 banananów.
|
||||
Widziałem 2 xxxxxxx.
|
2
TaskF05/simple.in
Normal file
2
TaskF05/simple.in
Normal file
@ -0,0 +1,2 @@
|
||||
Mam 2 jabłka i 35 banananów.
|
||||
Widziałem 2 bociany.
|
Loading…
Reference in New Issue
Block a user