OI lab11 Zielińska Anna

background image

P

OLITECHNIKA

´

S

L ˛

ASKA

W

YDZIAŁ

A

UTOMATYKI

E

LEKTRONIKI I

I

NFORMATYKI

Sprawozdanie

Przetwarzanie tekstu

Wyra˙zenia regularne

Autor: Anna Zieli ´nska

Prowadz ˛

acy ´cwiczenie: dr in˙z. Jacek Kawa

Gliwice, 27 maja 2012

background image
background image

Spis treści

1. Wyrażenia regularne- Cygwin

. . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1

Daty w różnych formatach

. . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

Imiona

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.3

Imiona kobiece

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.4

Zniekształcone i prawidłowe formy ’Obliczenia Inżynierskie’

. . . . . .

3

2. Wyrażenia regularne- Matlab

. . . . . . . . . . . . . . . . . . . . . . . . .

5

2.1

Kod programu

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2

Usuwanie średników kończących linijkę w Matlabie

. . . . . . . . . .

6

2.3

Zamiana przecinków na spacje

. . . . . . . . . . . . . . . . . . . . . .

6

2.4

Usuwanie wielokrotnych spacji

. . . . . . . . . . . . . . . . . . . . . .

6

2.5

Ustalanie liczby kolumn występujących w macierzy

. . . . . . . . . .

6

2.6

Usuwanie spacji wokół znaków równa się, nawiasów i średnika

. . . .

7

2.7

Zamiana na stały fragment tekstu

. . . . . . . . . . . . . . . . . . . .

7

2.8

Zamiana średników na odstępy

. . . . . . . . . . . . . . . . . . . . . .

8

2.9

Zamiana spacji na znak &

. . . . . . . . . . . . . . . . . . . . . . . .

8

2.10 Macierz utworzona w LaTeX

. . . . . . . . . . . . . . . . . . . . . . .

8

background image
background image

1. Wyrażenia regularne- Cygwin

1.1

Daty w różnych formatach

Komenda w Cygwin

#egrep --color ’[0-9]+[\. \-][0-9]*[\. \-][0-9]+’ dane-text.txt

Wynik

1.2

Imiona

Komenda w Cygwin

#grep -E -v ’Ob’ dane-text.txt | grep -E {color ’[A-Z].*[a-z]\b’

Wynik

Ciężko jest wyizolować jedynie imiona z tekstu, a więc najlepszym sposobem jest

wypisanie tych imion.

Komenda w Cygwin

# egrep --color ’Iwona|Ewa|Jeremiasz|Kuba|Anna|Zuzanna|Elwira|Kasia
|Marcin|Jakub’ dane-text.txt

Wynik

background image

2

1. Wyrażenia regularne- Cygwin

1.3

Imiona kobiece

Komenda w Cygwin

#grep -E -v ’Ob’ dane-text.txt | grep -E {color ’[A-Z].*a\b’

Wynik

W języku polskim imiona kobiece kończą się na literę a. Jednak w tym przypadku

nie zostały wyróżnione jedynie imiona kobiece, ale także został wyróżniony Kuba,
innym sposobem jest wypisanie wszystkich imion, które mają zostać podświetlone .

Komenda w Cygwin

#egrep --color ’Iwona|Ewa|Anna|Zuzanna|Elwira|Kasia|’ dane-text.txt

Wynik

background image

1.4. Zniekształcone i prawidłowe formy ’Obliczenia Inżynierskie’

3

1.4

Zniekształcone i prawidłowe formy
’Obliczenia Inżynierskie’

Komenda w Cygwin

#egrep --color ’[0][a-z 1]+[I][Za-z]+’ dane-text.txt

Wynik

background image
background image

2. Wyrażenia regularne- Matlab

2.1

Kod programu

%A=\ l e f t [ \ b e g i n { a r r a y }{ c c c }1&2&3\\4&5&6\\7&8&11111\ end { a r r a y }\ r i g h t

]

n a p i s=c z y t a j T e k s t ( ’ m a c i e r z 2 . t x t ’ )

s t r 1= ’ =\\ l e f t [ \ \ b e g i n { a r r a y } ’
s t r 2= ’ \\ end { a r r a y }\\ r i g h t ] ’

n a p i s = r e g e x p r e p ( n a p i s , ’ [ \ ] ] + [

] ∗ [ ; ] ∗ ’ , ’ ] ’ )%u su w a n i e ; k o ń c z ą c y c h l i n i ę

n a p i s = r e g e x p r e p ( n a p i s , ’ , ’ , ’

’ )%z a m i e n i a p r z e c i n e k na s p a c j ę

n a p i s= r e g e x p r e p ( n a p i s , ’ + ’ , ’

’ )%z a m i e n i a w i ę c e j n i ż 1 s p a c j ę na j e d n ą s p a c j ę

n a p i s 2=r e g e x p r e p ( n a p i s , ’ [ 0 9 ] + [ . ] ∗ [ 0 9 ] ∗

∗ ’ , ’ c ’ )% z l i c z a i l o s c c

r o z b i j = r e g e x p ( n a p i s 2 ,

’ (ˆ[ˆ=]∗= ∗ ) ( \ [ ) ( [ ˆ ; ] ∗ ) ( [ ; \ ] ] . ∗ ) ’ ,

’ Tokens ’ ) ;

r o z b i j=r o z b i j { 1 } ;

n a p i s 2=

s p r i n t f

( ’{%s } ’ , r o z b i j { [ 3 ] } )%p r z e k s z t a ł c e n i e c i ą g u znaków na t y p s t r i n g

n a p i s= r e g e x p r e p ( n a p i s , ’ [ ] ∗ [ = ] + [

] ∗ [ \ [ ] + [

] ∗ ’ , ’ =[ ’ )%u su w a n i e s p a c j i wokół znaków = [ ] ;

n a p i s= r e g e x p r e p ( n a p i s , ’ [

] ∗ [ ; ] + [

] ∗ ’ , ’ ; ’ )

n a p i s= r e g e x p r e p ( n a p i s , ’ [

] ∗ [ \ ] ] + [

] ∗ ’ , ’ ] ’ )

n a p i s= r e g e x p r e p ( n a p i s , ’ \ [ ’ , n a p i s 2 )%z a m i e n i a [ na o d p o w i e d n i a i l o ś ć c
n a p i s= r e g e x p r e p ( n a p i s , ’ [ { ] + [ ]∗ ’ , ’ { ’ )%z a m i e n i a t e z n a k i na {

n a p i s= r e g e x p r e p ( n a p i s , ’= ’ , s t r 1 )%z a m i e n i a = na n a p i s

n a p i s= r e g e x p r e p ( n a p i s , ’ ] ’ , s t r 2 )%z a m i e n i a ] na n a p i s

n a p i s= r e g e x p r e p ( n a p i s , ’ ; ’ , ’ \\\\ ’ )%z a m i e n i a ; na \\

n a p i s= r e g e x p r e p ( n a p i s , ’

’ , ’& ’ )%z a m i e n i a s p a c j e na &

background image

6

2. Wyrażenia regularne- Matlab

2.2

Usuwanie średników kończących linijkę w
Matlabie

n a p i s= r e g e x p r e p ( n a p i s , ’ + ’ , ’

’ )

Wynik działania kodu:
napis =

B =[-5 2,3; 22.132 3 1;

12312312.312 2 -5]

2.3

Zamiana przecinków na spacje

n a p i s = r e g e x p r e p ( n a p i s , ’ , ’ , ’

’ )

Wynik działania kodu:
napis =

B =[-5 2 3; 22.132 3 1;

12312312.312 2 -5]

2.4

Usuwanie wielokrotnych spacji

n a p i s = r e g e x p r e p ( n a p i s , ’ [ \ ] ] + [

] ∗ [ ; ] ∗ ’ , ’ ] ’ )

Wynik działania kodu:
napis =

B =[-5 2 3; 22.132 3 1; 12312312.312 2 -5]

2.5

Ustalanie liczby kolumn występujących w
macierzy

Dzięki tej instrukcji tekst jest dzielony na części, według podanych kryteriów.

Nastepnie podzielony juz tekst jest przerabiany do wymaganej formy, można w ten
sposób dodawać, usuwać, przestawiać oraz powielać fragmenty tekstu bez naruszenia
podstawowej formy. W przykładzie trzecia komórka tablicy rozbij została powielona.
W tym przypadku przydaje się to do stworzenia odpowiedniej ilości literek ”c”, co
oznacza liczbę kolumn. Polecenie sprintf sprawia, że ciąg znaków jest zamieniany na
typ string.

n a p i s 2=r e g e x p r e p ( n a p i s , ’ [ 0 9 ] + [ . ] ∗ [ 0 9 ] ∗ ∗ ’ , ’ c ’ )% z l i c z a

i l o s c c

r o z b i j = r e g e x p ( n a p i s 2 ,

’ (ˆ[ˆ=]∗= ∗ ) ( \ [ ) ( [ ˆ ; ] ∗ ) ( [ ; \ ] ] . ∗ ) ’ ,

’ Tokens ’ ) ;

r o z b i j=r o z b i j { 1 } ;

background image

2.6. Usuwanie spacji wokół znaków równa się, nawiasów i średnika

7

n a p i s 2=

s p r i n t f

( ’{%s } ’ , r o z b i j { [ 3 ] } )%p r z e k s z t a ł c e n i e c i ą g u znaków na t y p s t r i n g

Wynik działania kodu:

napis2 =

B =[-ccc; ccc; cc-c]

napis2 =

{-ccc}

2.6

Usuwanie spacji wokół znaków równa się,
nawiasów i średnika

n a p i s= r e g e x p r e p ( n a p i s , ’ [

] ∗ [ ; ] + [

] ∗ ’ , ’ ; ’ )

n a p i s= r e g e x p r e p ( n a p i s , ’ [

] ∗ [ \ ] ] + [

] ∗ ’ , ’ ] ’ )

Wynik działania kodu:

napis =

B=[-5 2 3; 22.132 3 1; 12312312.312 2 -5]

napis =

B=[-5 2 3;22.132 3 1;12312312.312 2 -5]

napis =

B=[-5 2 3;22.132 3 1;12312312.312 2 -5]

2.7

Zamiana na stały fragment tekstu

background image

8

2. Wyrażenia regularne- Matlab

n a p i s= r e g e x p r e p ( n a p i s , ’= ’ , s t r 1 )%z a m i e n i a = na n a p i s

n a p i s= r e g e x p r e p ( n a p i s , ’ ] ’ , s t r 2 )%z a m i e n i a ] na n a p i s

Wynik działania kodu:

napis =

B=\left[\begin{array}{ccc}-5 2 3;22.132 3 1;12312312.312 2 -5]

napis =

B=\left[\begin{array}{ccc}-5 2 3;22.132 3 1;12312312.312 2 -5\end{array}\right]

2.8

Zamiana średników na odstępy

n a p i s= r e g e x p r e p ( n a p i s , ’ ; ’ , ’ \\\\ ’ )%z a m i e n i a ; na o d s t ę p

Wynik działania kodu:
napis =

B=\left[\begin{array}{ccc}-5 2 3\\22.132 3 1\\12312312.312 2 -5\end{array}\right]

2.9

Zamiana spacji na znak &

n a p i s= r e g e x p r e p ( n a p i s , ’

’ , ’& ’ )%z a m i e n i a s p a c j e na &

napis =

B=\left[\begin{array}{ccc}-5&2&3\\22.132&3&1\\12312312.312&2&-5\end{array}\right]

2.10

Macierz utworzona w LaTeX

B =


5

2

3

22.132

3

1

12312312.312 2 5



Document Outline


Wyszukiwarka

Podobne podstrony:
OI lab4 Zielinska Anna
OI lab3 Zielinska Anna
OI spr nr2 Anna Zielinska
Anna Zielińska - Podstawy prawne pracy socjalnej (pytania do egzaminu), Pedagogika UW
Anna Zielinska SVM
Anna Wróbel Bieszczady
lab11 3 2
lab11 3
2 Naturalne materiały kamienne, Budownictwo, Materiały budowlane, Egzamin, egzamin z materialow od D
Pytania i odp Finanse Przedsiebiorstw(1), WZR UG, III semestr, Finanse przedsiębiorstw - dr Julia Ko
Ki no Tsurayuki Przedmowa z okazji wyprawy nad rzekę Oi
dr Anna Kwasniewska- socjologia kultury -sylabus - 60 godz., kulturoznawstwo
Lab11 RapidPrototyping id 25910 Nieznany
2012 opis projektu zaliczeniowego, Kont. współ. edu (Zielińska), Materiały od p. Zielińskiej
za, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki, laborki fizy
lab11 (5)
lab11

więcej podobnych podstron