差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
it:skills:正則表達式 [2021-11-28 08:56] goldentianyait:skills:正則表達式 [2023-04-22 07:12] (当前版本) – [正則表達式] goldentianya
行 1: 行 1:
 ====== 正則表達式 ====== ====== 正則表達式 ======
  
-^ 特殊符号                              ^ 描述                 | 示例            | 示例意义                            | +reg reguläre Ausdruck 
-| <color #ff7f27>''%%|%%''</color>  | 管道符号,表示选择其中一个进行匹配  | ''re1| re2''  | 选择匹配正则表达式re1或者re2               | + 
-| <color #ff7f27>''%%.%%''</color>  | 匹配除去\n之外的任意字符      | d.d           | 表示匹配d与d之间为任意字符的情况,如“did”“d2d”等 +[[https://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F|語法說明(維基百科)]] 
-| <color #ff7f27>''%%.%%''</color>        |              +[[https://regex101.com/|Playground]] 
-| <color #ff7f27>''%%.%%''</color>  |                    + 
-| <color #ff7f27>''%%.%%''</color>  |                    + 
-| <color #ff7f27>''%%.%%''</color>                   |   | + 
-| <color #ff7f27>''%%.%%''</color>                     +^ 特殊符号                                   ^ 描述                     | 示例            | 示例意义                            | 
-| <color #ff7f27>''%%.%%''</color>                     +| <color #ff7f27>''%%|%%''</color>       | 管道符号,表示选择其中一个进行匹配      | ''re1| re2''  | 选择匹配正则表达式re1或者re2               | 
-| <color #ff7f27>''%%.%%''</color>                    +| <color #ff7f27>''%%.%%''</color>       | 匹配除去\n之外的任意字符          | d.d           | 表示匹配d与d之间为任意字符的情况,如“did”“d2d”等 
-| <color #ff7f27>''%%.%%''</color>  |                    | +| <color #ff7f27>''%%^%%''</color>       匹配字符串起始部分              ''^my''       | 表示任何以my作为开始的字符串                 
-| <color #ff7f27>''%%.%%''</color>                     +| <color #ff7f27>''%%$%%''</color>       匹配字符串终止符               | bye$          | 表示匹配任何以bye结束的字符串                | 
-| <color #ff7f27>''%%.%%''</color>                     +| <color #ff7f27>''%%*%%''</color>       | 匹配0或者多次左端出现的正则表达式      [0-9]*        | 表示匹配以任意个数字开始的字符串                
-| <color #ff7f27>''%%.%%''</color>  |                  |   +| <color #ff7f27>''%%+%%''</color>       匹配1次或者多次左端出现的正则表达式     | [0-9]+        | 表示匹配以1个或者多个数字开始的字符串             | 
-| <color #ff7f27>''%%.%%''</color>                     +| <color #ff7f27>''%%?%%''</color>       | 匹配0次或者1次左端出现的正则表达式     [0-9]?        | 表示匹配以0个或者1个数字开始的字符串             
-| <color #ff7f27>''%%.%%''</color>  |                    +| <color #ff7f27>''%%{N}%%''</color>     匹配N次左端出现的正则表达式         [0-9]{N}      匹表示配以N个数字开始的字符串                 | 
-| <color #ff7f27>''%%.%%''</color>                    |+| <color #ff7f27>''%%{M,N}%%''</color>   | 匹配M次到N次左端出现的正则表达式      | [0-9]{M,N}    | 匹表示配以M个到N个数字开始的字符串              
 +| <color #ff7f27>''%%[...]%%''</color>   匹配来自括号中字符集的任意一个        [abcd]        表示匹配a或者b或者c或者d                  
 +| <color #ff7f27>''%%[.-.]%%''</color>   匹配从.到.之间的任意一个字符        [a-g]         表示匹配a到g之间的任意一个字符,如a或b...        
 +| <color #ff7f27>''%%[^...]%%''</color> 不匹配此字符集中的任何一个字符        ''[^abc]''    表示匹配不是字符a或b或c的任意字符              
 +| <color #ff7f27>''%%()%%''</color>      对正则表达式进行分组或者匹配子组       | ([0-9]{3})?   | 表示匹配三个数字出现一次或者不出现的情况          
 +| <color #ff7f27>''%%\d\D%%''</color>    \d任何一个十进制数字,\D任何非数字    \d\d\d        匹配三个数字的字符串                      
 +| <color #ff7f27>''%%\w\W%%''</color>    \w任何字母字符,\W任何非字母字符     \w+           匹配一个由字母字符组成的字符串                 
 +| <color #ff7f27>''%%\s\S%%''</color>    \s任何空格字符,\S任何非空格字符     | of\sthe       | 匹配of和the之间有任何空格字符的情况            | 
 +| <color #ff7f27>''%%\b\B%%''</color>    | \b任何单词边界,\B任何非单词边界     | \bthe         | 任何以the开始的字符串                    
 +| <color #ff7f27>''%%\N%%''</color>      匹配已保存的子组N              price:\N      匹配price:后面加已保存的子组N的形式           
 +| <color #ff7f27>''%%\c%%''</color>      仅按照c的字面意思进行匹配          | '' \*''       | 匹配字符\*                          
 +| <color #ff7f27>''%%\A\Z%%''</color>    | \A匹配字符串的开始,\Z匹配字符串的结尾  \Acar         匹配以car开始的字符串                    | 
 + 
 +====== 密码 ====== 
 +8个字符并包括一个大小写和数字 
 +  /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/gm 
 + 
 +8个字符并包括一个大小写和数字、特殊字符 
 +  ^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$ 
 +   
 +===== Javascript 案例 ===== 
 +<code |
 +var pattern = /^(?<content>[^|]+)+(\|(?<color>[a-z]+))?$/ 
 +      let match = "abc|gray".match(pattern) 
 +      let color = undefined 
 +      var cl = color || match.groups["color"
 +      expect(cl).to.equal('gray'); 
 + 
 +      match = "aaaa".match(pattern) 
 +      expect(match.groups["color"]).to.equal(undefined) //不是 undefined 
 +      match = "aaaa|".match(/^(?<content>[^|]+)+(\|(?<color>[a-z]*))?$/
 +      expect(match.groups["color"]).to.equal(""
 +</code>
it/skills/正則表達式.1638089819.txt.gz · 最后更改: 2021-11-28 08:56 由 goldentianya
回到顶部
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0