Detailed explanation of matching a single character in the regular expression tutorial, detailed explanation of the Regular Expression
This document describes how to match a single character in the regular expression tutorial. We will share this with you for your reference. The details are as follows:
Note: In all examples, regular expression matching results are included between [and] in the source text, and some examples are implemented using Java. If the regular expression is used in java, it will be described in the corresponding area. All java examples have passed the test under JDK1.6.0 _ 13.
Java test code:
/*** Based on the regular expression and the source text to be matched, output matching result * @ param regex Regular Expression * @ param sourceText Source Text to be matched */public static void matchAndPrint (String regex, String sourceText) {Pattern pattern = Pattern. compile (regex); Matcher matcher = pattern. matcher (sourceText); while (matcher. find () {System. out. println (matcher. group ());}}
1. Match plain text
1. Only one matching result exists.
First, let's look at a simple regular expression, today. Although it is plain text, it is a regular expression. Let's look at an example:
Source Text: Yesterday is history, tomorrow is a mystery, but today is a gift.
Regular Expression: today
Result: Yesterday is history, tomorrow is a mystery, but [today] is a gift.
Analysis: the regular expression used here is plain text, which matches the today in the source text.
Call the matchAndPrint method. The output result is:
Today
2. Multiple matching results
Source Text: Yesterday is history, tomorrow is a mystery, but today is a gift.
Regular Expression: is
Result: Yesterday is history, tomorrow is a mystery, but [today] is a gift.
Analysis: In the source text, there are three is, but four are output, because the is in history will also be matched.
Call the matchAndPrint method. The output result is:
Is
Is
Is
Is
3. Case sensitivity
Regular Expressions are case-sensitive, but many regular expressions also support case-insensitive matching. In JavaScript, the I flag is used to perform a case-insensitive match. In java, if it is case insensitive, you can specify:
Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
2. match any character
The regular expressions mentioned above are static plain text, and they do not reflect the power of regular expressions. Next, let's take a look at how to use regular expressions to match unpredictable characters.
In regular expressions, special characters (or character set combinations) are used to give the information to be searched .. Character (English state period) can match any single character. Which is equivalent? And _ (underline) characters in SQL. For example, the regular expression c. t matches cat, cut, cot, and so on. The following is an example.
Text:
Orders1.txt
Orders2.txt
Sales1.txt
SalesA.txt
Orders3.txt
Sales2.txt
Sales.txt
Regular Expression: sales.
Result:
Orders1.txt
Orders2.txt
【Sales1).txt
【Salesaapps.txt
Orders3.txt
【Sales2).txt
[Sales.] txt
Analysis: the regular expression sales will find the file name consisting of the string sales and another note. From the result, we can see that it matches letters, numbers, and itself. Four of the seven files match this pattern.
If you call the matchAndPrint method, the output result is:
Sales1
SalesA
Sales2
Sales.
3. Match special characters
. Characters have special meanings in regular expressions. If you need a. Character in the regular expression, you must find a way to tell the regular expression that you need a. character rather than its special meaning in the regular expression. To this end, you must add the \ character before. to escape it. \ Is also a metacharacter, indicating that this character has a special meaning, rather than the meaning itself ). Let's look at the example below.
Find the file starting with na or sa, No matter what number it follows.
Text:
Sales.txt
Na1.txt
Na2.txt
Sa1.txt
Sanatxt.txt
Regular Expression: .a..txt
Result:
【Sal】es.txt
【Na1g0.txt
【Na22.16.txt
【Sa1】.txt
【Sanatxt0000.txt
Analysis: This document finds out na1.txtw.na2.txt=sa1.txt, but also finds two unexpected results. The. Character in the regular expression ".a..txt" will match any character. To match the. character itself, use \ escape. Modifying the regular expression to. a. \. txt can meet our needs.
NOTE: If java is used, the regular expression. a. \. txt should be written as. a. \. txt, because \ is also an escape character in java.
Iv. Summary
Regular Expressions are generally referred to as pattern. They are actually character strings. These characters can be common characters (plain text) or metacharacters (special characters with special meanings ). This section describes how to use common characters and metacharacters to match unit characters .. It can match any character. \ Is used to escape characters. In regular expressions, character sequences with special meanings always start with \ characters. In the following article, we will introduce how to match a group of characters.
PS: here we will provide two very convenient Regular Expression tools for your reference:
JavaScript Regular Expression online testing tool:
Http://tools.jb51.net/regex/javascript
Regular Expression generation tool:
Http://tools.jb51.net/regex/create_reg
I hope this article will help you learn regular expressions.