Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

An introduction to regular expressions

2025-02-22 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/02 Report--

This article introduces the knowledge of "an introduction to regular expressions". Many people will encounter such a dilemma in the operation of actual cases, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

A regular expression is a lookup and string replacement operation. Regular expressions are widely used in text editors, such as regular expressions used to:

Check whether the text contains the specified feature words

Find out the position of matching feature words in the text.

Extract information from text, such as a substring of a string

Modify text

Like text editors, almost all high-level programming languages support regular expressions. In this context, "text" is a string, and the operations that can be performed are similar. Some programming languages, such as Perl,JavaScript, check the syntax of regular expressions.

What is a regular expression?

A regular expression is just a string. There is no length limit, but such regular expressions tend to be shorter in length. Here are some examples of regular expressions:

I had a\ S + day today

[A-Za-z0-9\-_] {3pm 16}

\ d\ d -\ d\ d\ d

V (\ d +) (\.\ d +) *

TotalMessages= (. *?)

These strings are actually microcomputer programs. The syntax of regular expressions is actually a lightweight, concise, domain-specific programming language. With this in mind, it's easy to understand the following:

Each regular expression can be decomposed into a sequence of instructions, such as "first find this character, then find that character, and then find a character from it." no, no, no. "

Every regular expression has input (text) and output (output that matches the rule, sometimes modified text).

Syntax errors may occur in regular expressions-not all strings are regular expressions

Regular expression syntax is very personal and can be said to be scary.

Sometimes regular expressions can be compiled to execute faster

In implementation, regular expressions have other features. This article will focus on the core syntax of regular expressions, which can be seen in almost all regular expressions.

Special hint: regular expressions have nothing to do with file wildcard syntax, such as * .xml

Basic grammatical characters of regular expressions

A regular expression contains a series of characters that can only match themselves. There are some special characters called metacharacters that can match some special rules.

In the example shown below, I marked the metacharacters in red.

I had a\ S + day today

[A-Za-z0-9\-_] {3pm 16}

\ d\ d -\ d\ d\ d

V (\ d +) (\.\ d +) *

TotalMessages= (. *?)

Most characters, including all alphabetic and numeric characters, are ordinary characters. That is, they can only match themselves, such as the regular expression shown below:

Cat

This means that only one string can be matched, starting with "c", followed by the character "a", followed by the character "t".

So far, regular expressions function similar to

Regular Find function

String.indexOf () function in Java

Strpos () function in PHP

Wait

Note: without special instructions, regular expressions are case-sensitive. However, almost all regular expression implementations provide a Flag to control case sensitivity.

Point "."

The first metacharacter we are going to explain is "." This symbol means that any character can be matched. The regular expression is as follows:

C.t

It means matching a string that starts with c, followed by any character, followed by the letter t.

In a piece of text, such regular expressions can be used to find strings like cat, cot, czt, or even combinations like c.t, but not strings like ct or coot.

Use the backslash "\" to ignore metacharacters so that metacharacters function like normal characters. So, regular expressions

C\ .t

It means "find the letter c, then a full stop (."), followed by the letter t. "

The backslash itself is also a metacharacter, which means that the backslash itself can be changed back to the use of ordinary characters in a similar way. Therefore, regular expressions

C\ t

Indicates a string that matches "begins with the character c, followed by a backslash, followed by the letter t".

Be careful! In the implementation of regular expressions,. Cannot be used to match newline characters. The representation of "newline character" varies from implementation to implementation. When actually programming, please refer to the relevant documentation. In this article, I think. Can match any character. The implementation environment usually provides a Flag flag bit to control this.

Character class

A character class is a set of characters in square brackets that indicate that any of these characters can be matched.

The regular expression c [aeiou] t means that the string that can be matched is "begins with c, followed by any character in aeiou, and ends with t". In the practical application of text, such regular expressions can match: cat,cet,cit,cot,cut five strings.

The regular expression [0123456789] means to match any integer.

The regular expression [a] represents the matching single character a.

Contains examples of omitting characters

\ [a\] a

Represents a matching string [a]

[\ []\ ab] indicates that the matching character is "[" or "']" or "a", or "b"

[\]] indicates that the matching character is "\" or "[" or "]".

In character classes, the repetition and occurrence order of characters are not important. [dabaaabcc] is the same as [abc]

Important: the rules in the character class are sometimes different from those outside the character class. Some characters are metacharacters in the character class and ordinary characters outside the character class. Some characters are just the opposite. Some characters are metacharacters in and outside the character class, depending on the situation!

For example, Indicates that it matches any character, and [.] Indicates that it matches a full-width period. It's not the same thing!

The range of character classes

In a character set, you can indicate a range of matching letters or numbers by using dashes.

[bmurf] is the same as [bPermie cpene dpene], both match a character "b" or "c" or "d" or "e" or "f"

[Amurz] is the same as [ABCDEFGHIJKLMNOPQRSTUVWXYZ], which matches any uppercase letter.

[1-9] is the same as [123456789], which matches any non-zero number.

Practice

Using the regular expression knowledge we have explained so far, match the words with the most continuous vowels in the dictionary and find the words with the most continuous consonants.

Answer

Regular expressions such as [aeiou] [aeiou] can match words with six consecutive vowels, such as euouae and euouaes.

Similarly, the scary regular expression [bcdfghjklmnpqrstvwxyz] [bcdfghjklmnpqrstvwxyz] can find the word sulphhydryls with ten consonants in succession.

Below, we will explain how to effectively shorten the length of such regular expressions.

Short dashes have no special meaning outside the character class. The regular expression amurz means that the matching string "begins with a, followed by a dash and ends with z".

Ranges and individual characters may appear at the same time in a character class:

[0-9,] indicates that it matches a number, or a full stop, or a comma

[0-9a-fA-F] means matching a hexadecimal number

[a-zA-Z0-9\ -] means matching a letter, a number, or a dash

Practice

Match the date in YYYY-MM-DD format using the regular expression knowledge that has been introduced.

Answer

[0-9] [0-9] [0-9]-[0-9] [0-9]-[0-9] [0-9].

Similarly, in the following article, we will show how to effectively reduce the length of such regular expressions.

Although you can try to use some non-letters or numbers as the last symbol of the range in regular expressions, such as abc [!-/] def, this is not legal in every implementation. Even if the syntax is legal, the semantics are vague. It's best not to use it like this.

At the same time, you must carefully choose the boundary value of the range. Even if [Amurz] is legal in the implementation you are using, it may produce unpredictable results. (note that there are characters between z and a)

Note: the character values of the range represent only characters, not the range of values. For example, [1-31] means to match a number, which is 1 or 2 or 3, rather than a number with a value between 1 and 31.

Antonym of character class

You can put an antonym at the beginning of the character class.

[^ a] means to match any character that is not "a"

[^ a-zA-Z0-9] means to match any character that is neither a letter nor a number

[\ ^ abc] matches a character that is "^" or an or b or c

[^\ ^] means to match any character that is not "^"

Practice

In the dictionary, find an example that is not satisfied with "I before e, but no c".

Answer

Both cie and [^ c] ei should be able to find many such examples, such as ancient,science,viel,weigh

Escape character class

\ d this regular expression has the same effect as [0-9], matching any number. (to match\ d, you should use regular expressions\\ d)

\ w is the same as [0-9A-Za-z], which means to match a numeric or alphabetic character

\ s means to match a blank character (space, tab, carriage return or line feed)

In addition,

\ D is the same as [^ 0-9], which means that it matches a non-numeric character.

\ W is the same as [^ 0-9A-Za-z], which matches a character that is not a number and is not a letter.

\ s means to match a non-empty character.

These are the characters you must master. As you may have noticed, a full stop. It is also a character class that can match any character.

Many regular expression implementations provide more character classes, or flag bits extend existing character classes based on ASCII codes.

Special tip: the unified character set contains more numeric characters than 0 to 9, as well as more null and alphabetic characters. When actually using regular expressions, please review the relevant documentation carefully.

Practice

Simplify the regular expression [0-9] [0-9] [0-9]-[0-9] [0-9]-[0-9] [0-9].

Answer

\ d\ d -\ d\ d -\ d.

Repetition

After a character or character set, you can use {} curly braces to indicate repetition

The regular expression a {1} has the same meaning as an and indicates that it matches the letter a

A {3} indicates the matching string "aaa"

A {0} indicates that an empty string is matched. From the point of view of the regular expression itself, it makes no sense. If you execute such a regular expression on any text, you can locate the start of the search, even if the text is empty.

A\ {2\} indicates the matching string "a {2}"

In character classes, curly braces have no special meaning. [{}] matches a curly braces on the left or a curly braces on the right

Practice

Simplify the following regular expression

Z.z

\ d\ d -\ d\ d\ d

[aeiou] [aeiou]

[bcdfghjklmnpqrstvwxyz] [bcdfghjklmnpqrstvwxyz]

Answer

Z. {7} z

\ d {4} -\ d {2} -\ d {2}

[aeiou] {6}

[bcdfghjklmnpqrstvwxyz] {10}

Note: repetitive characters have no memory, for example, [abc] {2} means to match "an or b or c" first, and then "an or b or c", the same as matching "aa or ab or ac or ba or bb or bc or ca or cb or cc". [abc] {2} does not mean to match "aa or bb or cc"

Specify a range of repetitions

The number of repeats can be specified.

X {4pm 4} is the same as x {4}

Colou {0line 1} r means to match colour or color

A {3 aaaa 5} means to match aaaaa or aaaa or aaa

Note that such regular expressions match the longest string first. For example, entering I had an aaaaawful day matches the aaaaa in the word aaaaawful rather than the aaa in it.

The number of repetitions can have a range, but sometimes this method can not find the best answer. If your input text is I had an aaawful daaaaay, you can only find aaawful when you match for the first time, and you can only find aaaaa in daaaaay if you perform the match again.

The range of repetition times can be an open interval.

A {1,} means to match one or more consecutive characters a. Is still the longest string to match. When the first an is found, the regular expression tries to match as many consecutive letters as possible.

. {0,} means to match anything. No matter what text you enter, even if it is an empty string, the regular expression will successfully match the full text and return the result.

Practice

Use regular expressions to find double quotation marks. Requires that the input string may contain any character.

Adjust your regular expression so that there are no other double quotes in the middle of a pair of double quotes.

Answer

". {0,}", then "[^"] {0,} ".

About the escape characters of repetition

? It is the same as {0jue 1}. For example, colou?r means to match colour or color.

* same as {0,}. For example,. * means to match anything.

+ same as {1,}. For example,\ w + means to match a word. Where "one word" refers to a string consisting of one or more characters, such as _ var or AccountName1.

These are the common escape characters you must know, in addition to:

\?\ *\ + indicates the matching string "? * +"

[? * +] matches a question mark, or a * sign, or a plus sign

Practice

Simplify the following regular expressions:

". {0,}" and "[^"] {0,} "

X?x?x?

Yellowy *

Zonal zodiac +

Answer

". *" and "[^"] * "

X {0,3}

Y *

Z {4,}

Practice

Write a regular expression and look for two words separated by non-alphabetic characters. What if it's three? What about six?

\ W +\ w +.

Below, we will simplify this regular expression.

Non-greedy matching

The regular expression ". *" matches double quotes, followed by anything, followed by a double quotation mark. Note that anything that matches can also be double quotation marks. Usually, this is not very useful. By adding a question mark at the end of the sentence, you can make the string repetition no longer match the longest character.

\ d {4pr. 5}? Indicates a match\ d\ d\ d or\ d\ d. That's the same as\ d {4}.

Colou??r is the same as colou {0jue 1} r, which means that color or colour was found. This is the same as colou?r.

". *?" It is useful to match a double quotation mark first, then the fewest characters, and then a double quote, which is different from the above two examples.

Select matching

You can use | to separate the different choices that can be matched:

Cat | dog indicates matching "cat" or "dog"

Red | blue | and red | | blue and | red | blue indicate that they match red or blue or an empty string

A | b | c is the same as [abc]

Cat | dog |\ | match "cat" or "dog" or a delimiter "|"

[cat | dog] means to match an or c or d or g or o or t or a delimiter "|"

Practice

Simplify the following regular expressions:

S | t | u | v | w

Aa | ab | ba | bb

[abc] | [^ abc]

[^ ab] | [^ bc]

[ab] [ab] [ab]? [ab]?

Answer

[Smurw]

[ab] {2}

.

[^ b]

[ab] {2,4}

Practice

Use regular expressions to match integers between 1 and 31. [1-31] is not the correct answer!

Such regular expressions are not unique. [1-9] | [12] [0-9] | 3 [01] is one of them.

Grouping

You can use parentheses to indicate grouping:

Match a day of the week by using Mon | Tues | Wednes | Thurs | Fri | Satur | Sun) day

(\ w *) ility is the same as\ w*ility. All match a word that ends with "ility". We will explain later why the first method is more useful.

\ (\) indicates that it matches a pair of parentheses.

[()] means to match any left parenthesis or right parenthesis

Practice

Find a pair of parentheses in the time machine, and then find the content without parentheses by modifying the regular expression.

Answer

\ (. *). Then,\ ([^ ()] *\) [^ ()] *.

Grouping can include empty strings:

(red | blue) indicates that it matches red or blue or an empty string

Abc () def is the same as abcdef

You can also use repetition on a grouping basis:

(red | blue)? Same as (red | blue |)

\ w + (\ s +\ w +) means to match one or more words separated by spaces

Practice

Simplify the regular expressions\ W +\ W + and\ W +\ w +\ w +.

Answer

\ W + (\ W +\ w +) {2},\ w + (\ W +\ w +) {5}.

Word separator

There is a word separator between words and non-words. Remember, a word\ w is [0-9AmurZamurz _], and the non-word character is\ W (uppercase), which means [^ 0-9AmurZaMuz _].

There are usually word separators at the beginning and end of the text.

In the input text it's a cat, there are actually eight word delimiters. If we put a space after cat, there are nine word delimiters. .

\ b means to match a word separator

\ b\ w\ w\ b means to match a three-letter word

A\ ba indicates that there is a word delimiter between the two a. This regular expression will never have matching characters, no matter what text is entered.

The word delimiter itself is not a character. Their width is 0. The following regular expressions work differently

(\ bcat)\ b

(\ bcat\ b)

\ b (cat)\ b

\ b (cat\ b)

Practice

Find the longest word in the dictionary.

Answer

After trying, it is found that\ b. {45,}\ b can find the longest word in the dictionary.

Newline character

There can be one or more lines in a text, separated by newline characters, such as:

Line one line of text

Line break newline character

Line one line of text

Line break newline character

...

Line break newline character

Line one line of text

Note that all text ends with a line, not a newline. However, any line can be empty, including the last line.

The starting position of the line is the space between the newline character and the first character of the next line. Considering the word delimiter, the starting position of the text can also be regarded as the first line position.

The last line is the space between the trailing character and the newline character of the last line. Considering the word delimiter, the end of the text can also be considered the end of the line.

Then the new format is as follows:

Start-of-line, line, end-of-line

Line break

Start-of-line, line, end-of-line

Line break

...

Line break

Start-of-line, line, end-of-line

Based on the above concepts:

^ indicates the start position of the matching line

$indicates the end position of the matching line

^ & represents a blank line

^. * & matches the full text because the beginning of the line is also a character, "." Will match this symbol. To find a separate line, you can use ^. *? $

\ ^\ $indicates the matching string "^ $"

[$] indicates that it matches a $. However, [^] is not a legal regular expression. Remember that in square brackets, characters have different special meanings. To match ^ in square brackets, you must use [\ ^]

Like character delimiters, newline characters are not characters. They are 0. 5% wide. The regular expressions shown below work differently:

(^ cat) $

(^ cat$)

^ (cat) $

^ (cat$)

Practice

Use regular expressions to find the longest line in the time Machine.

Answer

Use the regular expression ^. {73,} $to match a line of length 73

Text boundary

In many regular expression implementations, ^ and $are used as the start and end symbols of the text.

In other implementations,\ An and\ z are used as the beginning and end symbols of the text.

Capture and replace

From here on, regular expressions really show its power.

Capture group

You already know that parentheses can be used to match a set of symbols. Substrings can also be captured using parentheses. Assuming that the regular expression is a minicomputer program, capturing the substring is part of its output.

The regular expression (\ w *) ility means to match a word that ends in ility. The first part that is captured is controlled by\ w *. For example, if there is the word accessibility in the input text, the first part to be captured is accessib. If there is a separate ility in the entered text, the first thing to capture is an empty string.

You may have a lot of capture strings, and they may be very close. The capture group is numbered from left to right. That is, you only need to count the left parentheses.

Suppose there is such a regular expression: (\ W +) had a ((\ w +)\ w +)

The input is: I had a nice day

Capture group 1 PUR I

Capture group 2:nice day

Capture group 3:nice

In some regular expression implementations, you can start numbering from zero, and the zero number matches the whole sentence: I had a nice day.

In other implementations, if no capture group is established, capture group 1 automatically fills in the information of capture group 0.

Yes, it also means there will be a lot of parentheses. There are some regular expression implementations that provide "non-capture group" syntax, but this syntax is not the standard syntax, so we will not introduce it.

The number of capture groups returned from a successful match is the same as the number of capture groups obtained using the original regular expression. With this in mind, you can explain some strange phenomena. .

The regular expression ((cat) | dog) indicates that it matches cat or dog. There are two capture groups. If the input text is dog, then capture group 1 is dog and capture group 2 is empty.

The regular expression a (\ w) * matches a word that starts with a. There's only one capture team here.

If the input text is a, capture group 1 is empty.

If the input text is ad, the capture group is d

If the input text is avocado, capture group 1 is v. But capture group 0 means the whole word avocado.

Replace

If you use a regular expression to match a string, you can describe another string to replace the matching character. The string used to replace is called a replacement expression. Its function is similar to

Regular Replace session

String.replace () function in Java

The str_replace () function of PHP

Wait

Practice

Replace all vowels in the time machine with r.

Answer

Using the regular expressions [aeiou] and [AEIOU], the corresponding replacement strings are rMagne R.

However, you can reference the capture group in the replacement expression. This is the only place you can operate in a replacement expression. This is also very effective because you don't have to ReFactor the string you find.

Suppose you are trying to replace the American-style date representation MM/DD/YY with ISO 8601 date representation YYYY-MM-DD

Start with the regular expression (\ d\ d) / (\ d\ d) / (\ d\ d). Note that there are three capture groups: month, date, and two-digit year.

. The contents of the capture group and the capture group number are separated by a backslash, so your replacement expression should be 20\ 3-1-2.

If the text we enter contains 03ax 04max 05 for March 4, 2005, then:

1:03 of the capture group

2:04 of the capture group

3:05 of the capture group

Replace the string 2005-03-04.

In a replacement expression, you can use the capture group multiple times

For double vowels, the regular expression is ([aeiou]) and the replacement expression is\ l\ l

Backslashes cannot be used in replacement expressions. For example, you want to use part of the text in a string in a computer program. Then, you must put a backslash before each double quotation mark or backslash.

Your regular expression can be ([\ "]). Capture group 1 is double quotation marks or backslash

Your replacement expression should be\ l

In some implementations, the dollar sign $is used instead of\

Practice

Use regular and substitution expressions to convert a timestamp such as 23h69 to 23:59.

Answer

Regular expression finds the timestamps, replacement expression\ 1:\ 2

Reverse reference

You can also refer to a capture group in a regular expression. This is called: backreference

For example, [abc] {2} means to match aa or ab or ac or ba or bb or bc or ca or cb or cc. But {[abc]}\ 1 means that only aa or bb or cc is matched.

Practice

In the dictionary, find the longest word that contains twice repeated substrings, such as papa, coco

\ b (. {6,})\ 1\ b matches chiquichiqui.

If we don't care about the integrity of the word, we can ignore the word decomposition and use the regular expression (. {7,})\ 1 to match countercountermeasure and countercountermeasures.

Programming with regular expressions

Special reminder:

Overused backslash

In some programming languages, such as Java, there are no special tags for strings that contain regular expressions. Strings have their own filtering rules, which take precedence over regular expression rules, which is why backslashes are frequently used.

For example, in Java

Matches a number and changes the regular expression used from\ d to String re= "\\ d" in the code

A regular expression that matches a double quote string changes from "[^"] * "to String re ="\ "[^\"] *\ "".

The regular expression that matches the backslash or the left square bracket or the right square bracket changes from [\ []] to String re = "[\]

\ [\]\

] "

String re = "\\ s"; and String re = "[\ t\ r\ n]"; are equivalent. Notice that they actually perform the call at a different level.

In other programming languages, regular expressions are specifically marked, such as using /. Here is an example of JavaScript:

If you match a number,\ d will be written simply as var regExp = /\ dUniverse.

Match a backslash or a left square bracket or a right square bracket, var regExp = / [\\ [] /

Var regExp = /\ s var regExp; and var regExp = / [\ t\ r\ n] /; are equivalent

Of course, this means that you have to repeat it twice when using /. For example, to find URL, you must use var regExp = / https?:\ /\ /;.

I hope now you can understand why I asked you to pay special attention to the backslash.

Dynamic regular expression

Be especially careful when you dynamically create a regular expression. If you use a string that is not perfect enough for flowers, there may be unexpected matching results. This can lead to syntax errors, and to make matters worse, your regular expressions are grammatically correct, but the results are unpredictable.

Wrong Java code:

String sep = System.getProperty ("file.separator"); String [] directories = filePath.split (sep)

Bug:String.split () considers sep to be a regular expression. However, in Windows, Sep means to match a backslash, which is the same as the regular expression "\". This regular expression is correct, but returns an exception: PatternSyntaxException.

Any good programming language will provide a good mechanism to skip all metacharacters in the string. In Java, you can do this:

String sep = System.getProperty ("file.separator")

String [] directories = filePath.split (Pattern.quote (sep))

Regular expressions in loops

Adding a regular expression string to a repeatedly running program is an expensive operation. If you can avoid using regular expressions in loops, you can greatly improve your efficiency.

Other suggested input validation

Regular expressions can be used for input validation. However, strict input verification will make the user experience worse. For example:

Credit card number

On a website, I entered my card number, such as 1234 5678 8765 4321, and refused to accept it. Because it uses the regular expression\ d {16}.

Regular expressions should take into account the spaces and dashes entered by the user.

In fact, why not filter out all non-numeric characters before validating them? To do this, you can first use\ D and an empty replacement expression.

Practice

Use regular expressions to verify the correctness of card numbers without first filtering out all non-numeric characters.

Answer

\ D* (\ d\ D*) {16} is one of several variations which would accomplish this.

First name

Do not use regular expressions to validate names. In fact, even if you can, don't try to verify the name.

Programmers' misconceptions about names:

There are no spaces in the name

There is no connection symbol in the name.

Only ASCII characters are used in the name.

All the words in the name are in the special character set.

The name must be at least M words long.

The name will not exceed the length of N words.

People only have one name.

People only have one middle name.

People have only one surname (the last three are considered from the English first name)

e-mail address

Do not use regular expressions to verify the correctness of your email address.

First of all, such verification is difficult to be accurate. E-mail addresses can be verified with regular expressions, but expressions can be very long and complex.

Short regular expressions can cause errors. Do you know? There will be some comments in the email address)

Second, even if an e-mail address can successfully match the regular expression, it does not mean that the mailbox actually exists. The only way to verify a mailbox is to send a verification email.

Be careful

In strict application scenarios, do not use regular expressions to parse HTML or XML. Parse HTML or XML:

Cannot be done with a simple regular expression

Generally speaking, it is very difficult.

There are other ways to solve the problem.

Find an existing parsing library to do the job.

That's what 55 minutes are all about.

Summary:

Character: a b c d 12 3 4 etc.

Character class:. [abc] [amerz]\ d\ w\ s

. Represents any character

\ d means "number"

\ w stands for "letter", [0-9AmurZamurz _]

\ s means "space, tab, carriage return or newline character"

Negative character class: [^ abc]\ D\ W\ S

Repeat: {4} {3jue 16} {1,}? * +

? Means "zero or one time"

* means "greater than zero"

+ means "one or more times"

If not? All repetitions are the longest match (greed)

Grouping: (Septem | Octo | Novem | Decem) ber

Separation of words, lines, and text:\ b ^ $\ A\ z

Escape character:\ 1\ 2\ 3 etc. (available in both matching and replacement expressions)

Metacharacter:. \ [] {}? * + | () ^ $

Use metacharacters in character classes: []\-^

Use a backslash to ignore metacharacters:\

Thank you

Regular expressions are infrequently used and very useful. Everyone must know how to use regular expressions when editing text or writing programs.

Practice choosing some implementation of regular expressions and reading the relevant documentation. I promise, you'll learn more. This is the end of the introduction to regular expressions. Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report