co znaczą te porównania, cz wyrażenie regularne ?

0

Jeżeli myChar to String zawierający jeden znak, to kiedy takie wyrażenie będzie true ? (co oznacza """)
myChar.equals(""")

Teraz 2 wyrazenia regularne:

String SoEnd="[\{\}\:,;\(\)\+\-\*//\=\<\>\[\]\s]"; (co oznacza to wyrazenie regularne)
String WSign="\.|%|&|@"; (co oznacza to wyrazenie regularne)

Pattern.matches(SoEnd , myChar) kiedy to zwroci true ?
Pattern.matches(WSign , myChar) kiedy to zwroci true ?

z gory dzieki, pilne to dla mnie :)

0

Google -> Wyrażenia regularne.

No i taki mały niuans na który trzeba zwrócić uwagę. W Javie znak \ służy do znaków specjalnych, np \n jest zamieniane na Line Feed w trakcie kompilacji. Ciąg "\" zostanie zamieniony na "" na etapie kompilacji, a więc np ciąg "\{" zostanie zamieniony na "{", a to w wyrażeniach regularnych oznacza po prostu znak "{". Gdybyś chciał wyszukiwać znak "" za pomocą wyrażeń regularnych, to musiałbyś stworzyć Stringa o postaci "\\". Na etapie kompilacji zostałby zamieniony na "\", a w wyrażeniach regularnych znak "" też służy do znaków specjalnych, a więc gdy Pattern dostanie ciąg "\" to zacznie szukać znaku "".

0

ok, dzieki, to mniej wiecej wiem co napisales

czyli myChar.equals(""") to po prostu zamiast tego w kodzie moge napisac myChar.equals("") i tez bedzie ok ? (wiem ze chodzi tu o pusty string, tylko nie bardzo rozumie dlaczeg to dziala, a jest pomocne w znajdowaniu tekstow w stringu (gdzie myChar to kolejne znaki w tekscie)

Teraz 2 wyrazenia regularne:

String SoEnd="[\{\}\:,;\(\)\+\-\*//\=\<\>\[\]\s]"; to oznacza { lub } lub : lub , lub ; itd. ?
String WSign="\.|%|&|@"; to oznacz . lub % lub & lub @

jesli dobrze rozpoznalem, to po co w ogole pisac \{, nie lepiej samo { ?

0

" oznacza znak ", a więc zapis """ oznacza łańcuch złożony z jednego znaku - znaku "

Nie wiem dokładnie, ale możliwe że w wyrażeniach regularnych znak { ma jakieś specjalne znaczenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1