[转] Regular expression Daquan

xiaoxiao2021-03-06  95

Author: Alai (Email: A at Lai.com.cn home page: http: //www.9499.net Blog: http://blog.9cbs.net/laily/)

Keywords: regular expression pattern matching JavaScript

Summary: Collect some common regular expressions.

Regular expressions are used in string processing, form verification, etc., practical efficient, but it is always not sure to use it, so that I often check it online. I put some commonly used expressions here and make a memo. This post will be updated in any time.

Regular expressions matching Chinese characters: [/ u4e00- / u9fa5]

Match double-byte characters (including Chinese characters): [^ / X00- / XFF]

Application: Calculate the length of the string (a double-byte character length 2, ASCII characters 1)

String.prototype.len = function () {return this.Replace ([^ / X00- / XFF] / g, "aa"). Length;}

Regular expression of matching blank line: / n [/ s |] * / r

Matching the regular expression of HTML tag: / <(. *)>. * | <(. *) //> /

Regular expressions matching the first tail space: (^ / s *) | (/ s * $) String.Prototype.trim = function () {return this.replace (/ (^ / s *) | (/ s * $) / g, "");} Using Regular Expression Decomposition and Conversion IP Address: The following is the JavaScript program that matches the IP address using the regular expression and converts the IP address into a corresponding value: function IP2V (IP) {RE = / /d )/.(/d )/.(/d )/g // Match the regular expression IF of the IP address (Re.Test (IP)) {RETURN Regexp. $ 1 * Math.Pow (255, 3)) Regexp. $ 2 * math.pow (255, 2)) Regexp. $ 3 * 255 regexp. $ 4 * 1} else {throw new error ("NOT A Valid IP Address!")}} However, if the above program does not use a regular expression, it is possible to decompose directly with the SPLIT function, and the program is as follows: VAR IP = "10.100.20.168" IP = IP.split (".") Alert ("IP value is:" (IP [0] * 255 * 255 * 255 IP [1] * 255 * 255 IP [2] * 255 IP [3] * 1)) Match the regular expression of the Email address: / w ([[ .] / w ) * @ / w ([-.] / w ) * /. / w ([-.] / w ) * Match the URL regular expression: http: // ([/ w-] /.) [/ w -] (/ [/ w- ./?%&=]*)?

Algorithm program that uses regular expressions to remove repeated characters in strings

: [Note: This procedure is incorrect, the reason is seen this post reply] Var s = "abacabefgeeii" var s1 = s.Replace (/( (.).) VAR RE = New Regexp (" [" S1 "] "," g ") var s2 = s.Replace (re," ") ALERT (S1 S2) / / The result is: Abcefgi I originally posted a expression on 9CBS to achieve removal Repeat the character method, eventually did not find it, this is the simplest implementation method I can think of. The idea is to use the retrieval to remove the repeated characters, and then establish a second expression with a duplicate character, take the non-repetitive character, and the two are connected. This method may not apply for a string that requires the character sequence.

The JavaScript program that extracts the file name from the URL address using a regular expression. The following results are Page1 s = "http://www.949.net/page1.htm" s = s.replace (/(//) {0,} ([^ /.] ). * / G, "$ 2") ALERT (s) Using the regular expression to limit the text box in the text box in the web form: You can only enter Chinese with regular expression restrictions: οNKEYUP = "value = value.Replace (/ [^ / U4E00- / U9FA5] / g, '')" OnBeforePaste = "ClipboardData.SetData ('Text', ClipboardData.GetData ('Text'). Replace (/ [^ / U4E00- / u9fa5] / g, ')) "Use the regular expression limit only Enter a full-corner character: οnkeyup =" value = value.replace (/ [^ / uff00- / uffff) / g,') "" OnBeforePaste = "clipboardData.setData ( 'text', clipboardData.getData ( 'text') replace (/ [^ / uFF00- / uFFFF] / g, '').)" regular expression restricted only numbers: οnkeyup = "value = value.Replace (/ [^ / d] / g, '')" onbeforepaste = "clipboardData.setdata ('text', clipboardData.getdata ('text'). Replace (/ [^ / d] / g , '') "Use regular expression to limit only numbers and English: οnkeyup =" value = value.replace (/ [/ w] / g, '') "OnBeforePaste =" ClipboardData.SetData ('Text', ClipboardData.getdata ('text'). Replace (/ [^ / d] / g, '') "Regular expression, related link http://blog.9cbs.net/laily/category/19548.aspx http: //BLOG.9CBS.NET/LAILY/Archive/2004/06/30525.ASPX Microsoft's regular expression tutorial (5): Select / Group and backward reference http://blog.9cbs.net/Laily/ Archive / 2004/06/30/30522.ASPX Microsoft's regular expression tutorial (4): Limits and positioning characters http://blog.9cbs.net/LAILY/Archive/2004/06/30/30517.aspx Microsoft's Regular expression tutorial (3): Character match http://blog.9cbs.net/LAILY/Archive/2004/06/30514.ASPX Microsoft's regular expression tutorial (2): Regular expression syntax and priority Order http://blog.9cbs.net/Laily/archive/2004/06/30/30511.aspx Microsoft's regular expression tutorial (1):

Regular expression Introduction http://blog.9cbs.net/LAILY/Archive/2004/06/30/30360.aspx applet Assembly: Advanced Find / Replace, Regular Expression Exercise, JavaScript Script Program Detector HTTP: //BLOG.9CBS.NET/LAILY/Archive/2004/06/24/25872.aspx classic regular expression regular expression, regular expression, regular expression matching, regular expression syntax, pattern match, regular expression matching JavaScript regular expression ASP regular expression ASP.NET regular expression C # regular expression JSP regular expression PHP regular expression VB.NET regular expression VBScript regular expression programming Delphi regular expression JScript regular expression Regular Expression regular expression Regexp mode Pattern matches Match .NET namespace: System.Text.RegularExpression

Supplement: ^ / d $ // Match non-negative integer (positive integer 0) ^ [0-9] * [1-9] [0-9] * $ // Match positive integer ^ ((- / d ) | (0 )) $ // Matching the unusual integer (negative integer 0) ^ - [0-9] * [1-9] [0-9] * $ // Matching negative integers ^ -? / D $ / / Match integer ^ / d (/./ D )? $ // Match the number of non-looted points (positive floating point 0) ^ (([0-9] /. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] * /. [0-9] ) | ([0-9] * [1-9] [0 -9] *)) $ // Match positive floating point number ^ ((- / D (/ d )?) | (0 (/. 0 )?)) $ // Match non-positive floating point number (negative Floating point 0) ^ ((((([0-9] /. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [ 0-9] * /. [0-9] ) | ([0-9] * [1-9] [0-9] *)))) $ // Matching the load point number ^ (-? / D ) (/./d )?$ // Match floating point ^ [A-ZA-Z] $ // Match string from 26 English letters ^ [AZ] $ // Match by 26 English letters String ^ [AZ] $ // composed of uppercases, matching strings consisting of 26 English letters, composed of characters composed of numbers and 26 English letters String ^ / w $ // Matching strings made of numbers, 26 English letters or underscore ^ [/ w -] (/. [/ W -] ) * @ [/ w -] (/. / w -] ) $ // Match Email Address ^ [A-ZA-Z] : // Match (/W (-/W ) * (/.(/w (-/w ) *) * (/? / S *)? $ // Match the URL

Using Regular Expression Removal Binding A Duplicate Character Algorithm: Var S = "AbacaBeeii" Var S1 = S.REPLACE (/( (.).) VAR RE = New Regexp (" [" S1 "] "," g ") var s2 = s.Replace (re," ") ALERT (S1 S2) / / The result is: ABCEFGI ============== ================= If var s = "abacabefggeeii" is wrong, the result is: ABEICFGGGG regular expression ability limited RE: Totoro thank you, this JavaScript regular The expression program algorithm does have problems, I will try to find a better way!!!

1. Verify that the code example below the effective email format Use the static regex.ismatch method to verify that a string is a valid email format. If the string contains a valid email address, the IsValideMail method returns true, otherwise returns false, but no other operations are taken. You can use IsValidemail to filter an email address that contains an invalid character before the application stores the address in the database or appears in the ASP.NET page. [Visual Basic] Function isvalideMail (STRIN As String) AS Boolean 'Return True IF STRIN IS in Valid E-mail Format. Return Regex.ismatch (Strin ("^ (" ^ ([/ w - /.] ) @ (/ [[0-9] {1,3} /. [0-9] {1,3} /. [0-9] {1,3} /.) | ([/ W -] /.) )) ([A-ZA-Z] {2, 4} | [0-9] {1,3}) (/]?) $ ") end function [c #] bool isvalidemail (string string) {////// Return True if strin is in valid e-mail format. Return Regex.ismatch (Strin, @ "^ ([/ w - /.] ) @ (/ [[0-9] {1,3} /. 0-9] {1,3} /. [0-9] {1,3} /.) | ([/ W -] /.) ))) ([A-ZA-Z] {2, 4} | [0-9] {1, 3}) (/]?) $ ");} 2. Clean the code example below the Cleanup String Using the Static Regex.Replace method to extract an invalid character from the string. You can Using the CleanInput method defined here, remove the possible harmful characters entered in the text field that accepts the user-entered form. CleanInput is cleared @, - (even character) and. (The period) all non-alphabetical numbers A string is returned after the character. [Visual Basic] Function CleanInput (Strin As String) AS String 'Replace Invalid Characters with Empty Strings. Return Regex.replace (Strin, "[^ / W /.@-]", "" " End function [c #] string cleanInput (string string) {// replace invalid characterid characters with empty strings. Return regex.replace (Strin, @ "[^ / w /.@-]", "");} 3. Change date Format The following code example uses the regex.replace method to use DD-MM-YY Date form instead of the date form of MM / DD / YY.

[Visual Basic] Function MDYTODMY (INPUT AS STRING) AS STRING RETURN Regex.replace (Input, _ "/ B (? / D {1, 2}) / (? / d {1, 2} ) / (? / d {2, 4}) / b ", _" $ {day} - $ {month} - $ {year} ") End function [c #] string mdytodmy (string input) {Return Regex.replace (Input, "/ / B (? // d {1, 2}) / (? // D {1, 2}) / (? // D {2 , 4}) // b "" $ {day} - $ {month} - $ {year} ");} Regex Replacement mode This presentation explains how to use a named reverse reference in regex.replace's replacement mode. Among them, the replacement of the expression $ {day} is inserted into a sub-string captured by the (? ...) group. There are several static functions that allow you to create an explicit regular expression object when using regular expressions, while the regex.replace function is one of them. If you don't want to keep compilation regular expressions, this will bring you convenient 4. Extract URL information The following code example uses Match.Result to extract protocols and port numbers from the URL. For example, "http://www.contoso.com:8080/letters/readme.html" will return "HTTP: 8080". [Visual Basic] Function Extension (URL AS STRING) AS STRING DIM R AS New Regex ("^ ( / w ): // [^ /] ? (? : / d )? /" _ Regexoptions.comPiled) Return R.Match (URL) .result ("$ {pro} $ {port}) End Function [C #] string extension (String URL) {regex r = new regex (@" ^ (? / w ): // [^ /] ? (? : / d )? / ", regexoptions.compiled; return r.match (URL) .Result (" $ {prooto} $ { PORT} "); My answer is: ^ [a-za-z] $ | ^ / d $

Application: There is no TRIM function like VBScript in JavaScript, we can use this expression to be implemented, as follows:

转载请注明原文地址:https://www.9cbs.com/read-104240.html

New Post(0)