java-development-for-beginners-learnit / 06 - Strings in Java /005 Regular expressions in Java_en.srt
Tan115's picture
Add files using upload-large-folder tool
33852e5 verified
Raw
History Blame Contribute Delete
8.03 kB
1
00:00:00,000 --> 00:00:00,000
Hello, team.
2
00:00:00,000 --> 00:00:04,000
In this lesson, I'd like to talk with you about regular expressions.
3
00:00:05,000 --> 00:00:06,000
What is regular expression?
4
00:00:06,000 --> 00:00:11,000
Regular expression is a sequence of characters that define a search pattern.
5
00:00:11,000 --> 00:00:16,000
So you can use special set of characters to find all strings that match your pattern.
6
00:00:17,000 --> 00:00:20,000
Sometimes you use regular expression to split string.
7
00:00:20,000 --> 00:00:22,000
Let's imagine next case.
8
00:00:22,000 --> 00:00:26,000
You have a lot of text and you need to find only Google email accounts.
9
00:00:27,000 --> 00:00:28,000
How you would do this?
10
00:00:28,000 --> 00:00:32,000
You will try to describe search pattern with the help of special symbols.
11
00:00:33,000 --> 00:00:35,000
What are the special symbols?
12
00:00:35,000 --> 00:00:36,000
Here are some of them.
13
00:00:36,000 --> 00:00:40,000
Square brackets to identify characters which we need to search.
14
00:00:41,000 --> 00:00:45,000
I specified range from A to z lowercase and from A to z capital.
15
00:00:46,000 --> 00:00:51,000
Also specified dash character backslash d will match with all digits.
16
00:00:51,000 --> 00:00:55,000
And you already learned that we need to escape backslash character.
17
00:00:55,000 --> 00:00:58,000
That's why it's double backslash here.
18
00:00:59,000 --> 00:01:01,000
Also there are quantifiers.
19
00:01:01,000 --> 00:01:03,000
Plus sign might be read like this.
20
00:01:03,000 --> 00:01:07,000
In case these characters will be repeated at least one time and more.
21
00:01:08,000 --> 00:01:10,000
That is what we need after all of this.
22
00:01:10,000 --> 00:01:14,000
We expect at sign gmail dot.
23
00:01:14,000 --> 00:01:21,000
Taking into account dot in regular expression means any character we need to escape dot to say that
24
00:01:21,000 --> 00:01:26,000
we don't expect any character, but we are looking for exactly dot.
25
00:01:26,000 --> 00:01:30,000
That's why double backslash here and comb.
26
00:01:30,000 --> 00:01:33,000
Your homework task will be to learn other special symbols.
27
00:01:34,000 --> 00:01:36,000
I will share with you details at the end of the lesson.
28
00:01:37,000 --> 00:01:43,000
Definitely, there are a lot of ways to improve the regular expressions for email, and you can find
29
00:01:43,000 --> 00:01:48,000
in internet billions of variations of pattern for email address verification.
30
00:01:48,000 --> 00:01:55,000
Our goal right now to learn how to use regular expressions regarding special symbols to use in regular
31
00:01:55,000 --> 00:01:55,000
expression.
32
00:01:56,000 --> 00:01:59,000
I will share more details at the end of this lesson.
33
00:01:59,000 --> 00:02:02,000
After that you need to compile pattern.
34
00:02:02,000 --> 00:02:06,000
Do not forget to import Java.util regex package.
35
00:02:09,000 --> 00:02:12,000
We have the sample text with gmail address in it.
36
00:02:12,000 --> 00:02:19,000
Now you can get matcher much object out of pattern call matching method on pattern object and pass sample
37
00:02:19,000 --> 00:02:20,000
text into it.
38
00:02:21,000 --> 00:02:25,000
Match object can find matches call find method.
39
00:02:25,000 --> 00:02:32,000
Find method returns true in case a subsequence of the input sequence matches this matches pattern and
40
00:02:32,000 --> 00:02:33,000
false otherwise.
41
00:02:33,000 --> 00:02:38,000
In case there is a match, you will be able to call group method to return the string which matches
42
00:02:38,000 --> 00:02:39,000
your pattern.
43
00:02:40,000 --> 00:02:42,000
And let's print this to console.
44
00:02:43,000 --> 00:02:45,000
What can be improved here?
45
00:02:46,000 --> 00:02:50,000
As you learn loops, topic and control statements topic, you will be able to manage search process
46
00:02:50,000 --> 00:02:52,000
in a bit different way.
47
00:02:52,000 --> 00:02:58,000
For example, probably better solution would be here to call find method in if statement or in while
48
00:02:58,000 --> 00:03:00,000
loop to print multiple matches.
49
00:03:01,000 --> 00:03:04,000
But don't worry so far we will learn all topics gradually.
50
00:03:04,000 --> 00:03:07,000
You will have enough tasks to practice your skills.
51
00:03:07,000 --> 00:03:10,000
For now, I don't want to confuse you even more.
52
00:03:10,000 --> 00:03:15,000
Solution like this should be fine in case you want to find match in the string.
53
00:03:16,000 --> 00:03:17,000
Another example.
54
00:03:17,000 --> 00:03:21,000
We have sample text and we want to split it by sentences.
55
00:03:21,000 --> 00:03:23,000
Let's come up with a regular expression.
56
00:03:23,000 --> 00:03:26,000
We need to split by any of these characters.
57
00:03:26,000 --> 00:03:27,000
Period.
58
00:03:27,000 --> 00:03:29,000
Exclamation mark.
59
00:03:29,000 --> 00:03:30,000
Question mark.
60
00:03:31,000 --> 00:03:33,000
Now let's split this sample text.
61
00:03:33,000 --> 00:03:36,000
Using this regex we'll call split method.
62
00:03:36,000 --> 00:03:40,000
We'll get string array and let's print it to console.
63
00:03:41,000 --> 00:03:44,000
Here you can see that you have three different sentences.
64
00:03:45,000 --> 00:03:47,000
Let's recap what you have learned about strings.
65
00:03:48,000 --> 00:03:52,000
Now you know main string methods how to compare strings.
66
00:03:52,000 --> 00:03:54,000
You learn what is pool of strings.
67
00:03:54,000 --> 00:04:00,000
How to use escape sequences in your source code, how you can format strings, and how to use regular
68
00:04:00,000 --> 00:04:01,000
expressions.
69
00:04:01,000 --> 00:04:03,000
Now let's take a look at your homework.
70
00:04:05,000 --> 00:04:09,000
First of all, take a look one more time to string source code.
71
00:04:09,000 --> 00:04:12,000
Take a look at other methods which are in string class.
72
00:04:13,000 --> 00:04:15,000
As usual, I recommend you to read books.
73
00:04:15,000 --> 00:04:17,000
Chapter about strings.
74
00:04:17,000 --> 00:04:20,000
Learn format specifiers and flags.
75
00:04:20,000 --> 00:04:23,000
Here is the link to official Oracle documentation.
76
00:04:24,000 --> 00:04:29,000
I also did screenshots and left them here so you could faster find the things you need to learn.
77
00:04:30,000 --> 00:04:33,000
Do not forget to look through the examples of string formatting.
78
00:04:34,000 --> 00:04:36,000
Link to the source code is here.
79
00:04:36,000 --> 00:04:39,000
Implement console program according to requirements.
80
00:04:40,000 --> 00:04:43,000
This task to check your knowledge about string formatting.
81
00:04:44,000 --> 00:04:47,000
To learn regular expressions, I recommend you to use this resource.
82
00:04:47,000 --> 00:04:49,000
Let's take a look.
83
00:04:50,000 --> 00:04:51,000
You have 15 lessons.
84
00:04:51,000 --> 00:04:55,000
In each lesson you have description and exercise.
85
00:04:55,000 --> 00:04:58,000
You can always find hints on the right here.
86
00:04:58,000 --> 00:05:01,000
And in case you can't solve task.
87
00:05:01,000 --> 00:05:03,000
Take a look at solution here.
88
00:05:07,000 --> 00:05:13,000
Looking through the solutions will be also very efficient and will help you to learn regular expressions.
89
00:05:13,000 --> 00:05:19,000
I wouldn't say that you need to spend hours on learning regular expressions because you will not use
90
00:05:19,000 --> 00:05:20,000
them literally every day.
91
00:05:20,000 --> 00:05:23,000
But still, I would recommend you to learn the basics.
92
00:05:24,000 --> 00:05:30,000
And after that you have one more coding exercise to practice your skills in regular expressions.
93
00:05:30,000 --> 00:05:32,000
That's all for today.
94
00:05:32,000 --> 00:05:33,000
See you in the next lesson.
95
00:05:34,000 --> 00:05:34,000
Your.