Home >Backend Development >PHP Tutorial >PHP regular expression, php regular expression_PHP tutorial

PHP regular expression, php regular expression_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:55:001066browse

PHP regular expression, php regular expression

Character

Description

Mark the next character as a special character, text, backreference, or octal escape. For example, "n" matches the character "n". "n" matches a newline character. The sequence "\" matches "", "(" matches "(".

^

matches the beginning of the input string. If the Multiline property of the RegExp object is set, ^ will also match the position after "n" or "r".

$

matches the end of the input string. If the Multiline property of the RegExp object is set, $ will also match the position before "n" or "r".

*

Matches the preceding character or subexpression zero or more times. For example, zo* matches "z" and "zoo". * Equivalent to {0,}.

Matches the preceding character or subexpression one or more times. For example, "zo" matches "zo" and "zoo" but not "z". Equivalent to {1,}.

?

Matches the preceding character or subexpression zero or once times. For example, "do(es)?" matches "do" or "do" in "does". ? Equivalent to {0,1}.

{n}

n is a non-negative integer. Matches exactly n times. For example, "o{2}" does not match the "o" in "Bob" but does match both "o"s in "food".

{n,}

n is a non-negative integer. Match at least n times. For example, "o{2,}" does not match the "o" in "Bob" but matches all o's in "foooood". "o{1,}" is equivalent to "o". "o{0,}" is equivalent to "o*".

{n,m}

M and n are non-negative integers, where n <= m. Match at least n times and at most m times. For example, "o{1,3}" matches the first three o's in "fooooood". 'o{0,1}' is equivalent to 'o?'. Note: You cannot insert spaces between commas and numbers.

?

The matching pattern is "non-greedy" when this character immediately follows any other qualifier (*, ,?, {n}, {n,}, {n,m}). The "non-greedy" pattern matches the shortest possible string that is searched for, while the default "greedy" pattern matches the longest possible string that is searched for. For example, in the string "oooo", "o ?" matches only a single "o", while "o" matches all "o"s.

.

matches any single character except "n". To match any character including "n", use a pattern such as "[sS]".

(pattern)

Matches pattern and captures the matching subexpression. Captured matches can be retrieved from the resulting "matches" collection using the $0…$9 attributes. To match the bracket character ( ), use "(" or ")".

(?:pattern)

matches pattern but does not capture the subexpression of that match, i.e. it is a non-capturing match and does not store the match for later use. This is useful when combining pattern parts with the "or" character (|). For example, 'industr(?:y|ies) is a more economical expression than 'industry|industries' .

(?=pattern)

A subexpression that performs a forward lookahead search that matches a string at the start of a string that matches pattern . It is a non-capturing match, i.e. a match that cannot be captured for later use. For example, 'Windows (?=95|98|NT|2000)' matches "Windows" in "Windows 2000", but not "Windows" in "Windows 3.1". Prediction lookaheads do not occupy characters, that is, after a match occurs, the next match is searched immediately after the previous match, not after the characters that make up the prediction lookahead.

(?!pattern)

A subexpression that performs a lookahead search that matches a search string that is not at the start of a string that matches pattern . It is a non-capturing match, i.e. a match that cannot be captured for later use. For example, 'Windows (?!95|98|NT|2000)' matches "Windows" in "Windows 3.1", but not "Windows" in "Windows 2000". Prediction lookaheads do not occupy characters, that is, after a match occurs, the next match is searched immediately after the previous match, not after the characters that make up the prediction lookahead.

x|y

Matches x or y. For example, 'z|food' matches "z" or "food". '(z|f)ood' matches "zood" or "food".

[xyz]

Character set. Matches any character contained in . For example, "[abc]" matches the "a" in "plain".

[^xyz]

Reverse character set. Matches any characters not included. For example, "[^abc]" matches the "p" in "plain".

[a-z]

Character range. Matches any character within the specified range. For example, "[a-z]" matches any lowercase letter in the range "a" through "z".

[^a-z]

Reverse range character. Matches any character not within the specified range. For example, "[^a-z]" matches any character that is not in the range "a" through "z".

b

matches a word boundary, that is, the position between a word and a space. For example, "erb" matches the "er" in "never" but not the "er" in "verb".

B

Non-word boundary matching. "erB" matches the "er" in "verb", but not the "er" in "never".

cx

matches the control character indicated by x . For example, cM matches Control-M or carriage return. The value of x must be between A-Z or a-z. If this is not the case, c is assumed to be the "c" character itself.

d

Number character matching. Equivalent to [0-9].

D

Non-numeric character matching. Equivalent to [^0-9].

f

Form break matching. Equivalent to x0c and cL.

n

Newline matching. Equivalent to x0a and cJ.

r

matches a carriage return character. Equivalent to x0d and cM.

s

matches any whitespace character, including spaces, tabs, form feeds, etc. Equivalent to [fnrtv].

S

matches any non-whitespace character. Equivalent to [^ fnrtv].

t

Tab matching. Equivalent to x09 and cI.

v

Vertical tab matching. Equivalent to x0b and cK.

w

matches any type character, including underscore. Equivalent to "[A-Za-z0-9_]".

W

matches any non-word character. Equivalent to "[^A-Za-z0-9_]".

xn

matches n, where n is a hexadecimal escape code. The hexadecimal escape code must be exactly two digits long. For example, "x41" matches "A". "x041" is equivalent to "x04" & "1". Allows the use of ASCII codes in regular expressions.

num

matches num, where num is a positive integer. Backreference to capture match. For example, "(.)1" matches two consecutive identical characters.

n

identifies an octal escape code or backreference. If n is preceded by at least n capturing subexpressions, then n is a backreference. Otherwise, if n is an octal number (0-7), then n is the octal escape code.

nm

identifies an octal escape code or backreference. If nm is preceded by at least nm capturing subexpressions, then nm is a backreference. If nm is preceded by at least n captures, then n is a backreference followed by the character m. If neither of the previous conditions is present, nm matches the octal value nm, where n and m are octal digits (0-7).

nml

When n is an octal number (0-3), m and l are octal numbers (0-7), match the octal escape code nml.

un

matches n, where n is a Unicode character represented as a four-digit hexadecimal number. For example, u00A9 matches the copyright symbol (©)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/i     忽略大小写
/g    全文查找出现的所有匹配字符
/m   多行查找
/gi   全文查找、忽略大小写
/ig   全文查找、忽略大小写

 

1. 转义字符
    b , B , c , d , D , f , n , r , s , S , t , v , w , W , x , u
2. 选择和分组相关
    | , ( , ) , [ ,  ] , ?: , ?! , ?=
3. 限定符
    * ,   , ? , { , } , *? ,  ? , ??
4. 定位符
    b , B , ^ , $
5. 其它符号
    g , i , m , 

 

Regular expressions are often used when building websites. Here are some explanations and examples for your reference and modification only:
△.       d $" //Non-negative integer (positive integer 0)
△. "^[0-9]*[1-9][0-9]*$" //Positive integer
△. "^((-d )|(0 ))$" //Non-positive integer (negative integer 0)
△. "^-[0 -9]*[1-9][0-9]*$" //Negative integer
△. "^-?d $" //Integer
△. "^d (.d)?$" //Non-negative floating point number (positive floating point number 0)
△. "^(([0-9] .[0-9 ]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9] )|([0-9]*[1 -9][0-9]*))$" //Positive floating point number
△. "^((-d (.d )?)|(0 (.0 )?) )$" //Non-positive floating point number (negative floating point number 0)
△. "^(-(([0-9] .[0-9]*[1-9][ 0-9]*)|([0-9]*[1-9][0-9]*.[0-9] )|([0-9]*[1-9][0-9] *)))$" // Negative floating point number
△. "^(-?d )(.d )?$" //Floating point number
△ "^[A-Za-z] $" //A string consisting of 26 English letters
△. "^[A-Z] $" //A string consisting of 26 English letters in uppercase A string consisting of
△. "^[a-z] $" // A string consisting of 26 lowercase English letters
△. "^[A -Za-z0-9] $" //A string composed of numbers and 26 English letters
△. "^w $" //A string composed of numbers, 26 English letters or underscores The string of
△. /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2] ))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // Year-month-day
△ . /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[ 0|1]))/(d{2}|d{4})$/ //Month/Day/Year
△. "^(d{1,2}|1dd| 2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}| 1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP address

△. Matches regular expressions for Chinese characters: [u4e00-u9fa5]
△. Matches double-byte characters (including Chinese characters): [^x00-xff]
△. Regular expression to match empty lines: n[s| ]*r
△. Regular expression to match HTML tags: /<(. *)>.*|<(.*) />/
△. Regular expression matching leading and trailing spaces: (^s*)|(s* $)
△. Regular expression matching email addresses: w ([- .]w )*@w ([-.]w )*.w ([-.]w )*
△. Regular expression matching URL:

^[a-zA-z] ://(\w (-\w )*)(\.(\w (-\w )*))*(\?\S*)? $
△. Is the matching account legal (starting with a letter, 5-16 bytes allowed, alphanumeric underscores allowed):

^[a-zA-Z][a-zA-Z0-9_]{4,15}$
△. Matching domestic phone numbers: (d{3} -|d{4}-)?(d{8}|d{7})?
△. Matching Tencent QQ number: ^[1-9]*[1-9][ 0-9]*$

Use regular expressions to limit the input content of the text box in the web form:
△. Use regular expressions to limit only Chinese input:

onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"
△. Use regular expressions to limit input to numbers:

onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/ [^d]/g,''))"
△. Use regular expressions to limit input to only numbers and English:

onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[ ^d]/g,''))"

△. Extract the sql statement in the information: ^(select|drop|delete|create|update|insert).*$
△. Extract the network link in the information: (h|H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.) ('|"| *|>)?
△. Extract the email address in the message: w ([- .]w )*@w ([-.]w )*.w ([-.]w )*
△. Extract the picture link in the information: (s|S)(r|R)(c|C) *= *('|")?(w|\|/|.) ('| "| △. Extract the Chinese mobile phone number in the information: (86)*0*13d{9}
△. Extract the Chinese landline phone number in the information: ((d{3,4})| d{3,4}-|s)?d{8}
△. Extract the Chinese phone number in the information (including mobile and landline):
((d{3,4})|d{3,4}-|s)?d{7,14}
△. Extract the China Post in the information Encoding: [1-9]{1}(d){5}

△. Extract floating point numbers (i.e. decimals) in the information: (-?d*).?d
△. Extract any number in the information: (-?d*)(.d)?

http://www.bkjia.com/PHPjc/993272.html

www.bkjia.com

true

TechArticlePHP regular expression, php regular expression character description marks the next character as special character, text, reverse Quote or octal escape character. For example, n matches the character n. n matches newlines...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn