swift 3.0 regular expressions look for the implementation code for and replacement characters
- 2020-06-01 11:06:58
- OfStack
1. What is a regular expression
Regular expressions, also known as normal notation, regular notation (English: Regular Expression, often abbreviated regex, regexp, or RE in code), are a concept in computer science.
Regular expressions use a single string to describe and match strings in series 1 that conform to certain syntactic rules.
In many text editors, regular expressions are used to retrieve and replace text that fits a pattern.
2. Character composition of regular expressions
Ordinary characters [a~z], special characters (called "metacharacters")
3. Support
Almost all programming languages support regular expressions, such as OC, swift, java, c#, python, js, and so on
Regular expressions can be used for retrieval in many text editors, and Xcode also supports regular expressions!
Use 4.
matching(pattern) matches pattern and gets the 1 match, which can be obtained from the resulting Matches set
A collection of
[xyz] character set (x|, |, y|, |, z)
[a-z] character range a-z
[a-zA-Z] character range a-z A-Z
[^xyz] negative character set (any character except xyz)
[^ a-z] negative character range
[a-d][m-p] union (a to d or m to p)
Matches any character other than a newline
\w to match letters or Numbers or underline or Chinese characters [a-zA-Z_0-9]
\s matches any blank character (space, TAB\t, carriage return \r \n)
\d matching Numbers [0-9]
^a matches the a character at the beginning of the string
a$matches the end of the a character string
\bw matches the start or end of a word with w characters
\W matches any character other than letter, number, underscore, Chinese character [^\w]
\S matches any character that is not a blank [^\s]
\D matches any non-numeric character [^0-9]
\Ba matches a characters that are not at the beginning or end of a word
[^a] matches any character other than a
[^aeiou] matches any character other than the letters aeiou
w*oo zero or more times
w+oo repeat 1 or more times
w & # 63; oo zero or one repeat
w{n} w repeat n times
w{n,} w repeat n or more
w{n,m} w repeat n to m times
* & # 63; Repeat as many times as possible, but with as few repetitions as possible
*+ repeat 1 or more times, but as little as possible
The & # 63; The & # 63; Repeat 0 or 1 times, but as little as possible
w} {1, 2 & # 63; Repeat 1 or 2 times, but as little as possible
ww {1} & # 63; Repeat more than once, but as little as possible
Example 5.
// judge QQ Number (routine judgment)
fileprivate func checkIsQQNumber(str:String) ->Bool {
// 1. Judge whether 0 At the beginning
if str.hasPrefix("0"){
return false
}
// 2. Judge whether 5~15 position
if str.characters.count < 5 || str.characters.count > 15{
return false
}
// 3. Determine if it's all Numbers
for c in str.characters{
if c < "0" || c > "9"{
return false
}
}
return true
}
// Regex determines the phone number
fileprivate func checkPhoneNumber(str:String)->Bool {
let pattern = "1[3578]\\d{9}"
let regex = try! NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options(rawValue:0))
let res = regex.matches(in: str, options: NSRegularExpression.MatchingOptions(rawValue:0), range: NSMakeRange(0, str.characters.count))
if res.count > 0 {
return true
}
return false
}
conclusion