正则表达式总结

正则表达式中的特殊字符:

^  :匹配字符串的开头,设置m(multiline)标志后,还匹配行的开头,用在字符类开头反转集合的意义:/[^a-z0-9]/ 匹配除小写字母和数字外的任意字符,这种用法^一定要放在开头否则失去意义 
$  :匹配字符串的结尾。设置m(multiline)标志后,还匹配换行(\n)字符前面的位置 
\  :对特殊字符的特殊元字符含义进行转义 
.  :匹配任意单个字符,只有设置s(dotall)标志是,点才匹配换行字符(\n) 
*  :匹配前面字符 >= 0 次 
+  :匹配前面字符 >= 1 次 
?  :匹配前面字符 0-1 次 
() :定义一个组, 使用方法: 
    1、限制逻辑“或” 字符的范围: /(a|b|c)d/ 
    2、定义数量表示符的范围:/(walla.){1,2}/ 
    3、用在逆向引用中:/(\w*) is repeated \1/ "\1" 匹配前面第一个() 
[] :定义字符类. 
    1、字符类定义单个字符可能的匹配:/[aeiou]/ 匹配所指定字符中的任意一个 
    2、在字符类中用 "-" 指定字符的范围。/[A-Z0-9]/,在字符类中要转义 "-"和"]"用 "\", 在字符类中,元字符通常被看做一般字符 
|  :逻辑或

元序列:

{n},{n,},{n,n}  :指定前一项目的数量或数量范围 /A{27}/ 匹配27次 /A{3,}/ 匹配 >= 3 次 /A{3,5}/ 匹配 >=3 <=5次 
\b :匹配单词字符和非单词字符之间的位置。如果字符串中的第一个或最后一个字符是单字符,则也匹配字符串的开头或结尾。 
\B :匹配两个单词字符之间的位置。也匹配两个非单词字符之间的位置。 
\d : 匹配十进制数字 
\D : 匹配非十进制数字 
\f : 匹配换页符 
\n : 匹配换行符 
\r : 匹配回车符 
\s :匹配任何空白字符(空格、制表符、换行符或回车符) 
\S : 匹配任何非空白符 
\t :匹配制表符 
\unnnn :匹配字符代码由十六进制数字 nnnn所指定的unicode字符。例如 \u263a是一个笑脸字符 
\v :匹配垂直换页符 
\w :匹配单词字符 (A-Z、a-z、0-9 或 _ )不匹配非英文字符 
\W : 匹配除单词字符以外的任意字符 
\xnn :匹配所指定ASCII (由十六进制数字nn定义)值得字符。/[\x80-\x9A]/ 匹配扩展ASCII字符集中的任意字符

标志和属性:

g :global        匹配多个匹配 
i : ignoreCase    不区分大小,应用于  A-Z和a-z字符 
m : multiline     设置此标志后, $ 和 ^ 可以分别匹配行的开头和结尾 
s : dotall        设置此属性后 "." 可以匹配换行符 
x : extended      允许扩展的正则表达式。您可以在正则表达式中键入空格,它将作为模式的一部分被忽略。这可使您更加清晰可读地键入正则表达式代码      

注意:

    默认情况下,正则表达式执行"无限匹配"。正则表达式中的任何子模式(如 .*)都会尝试在字符串中匹配尽可能多的字符,然后再执行正则表达式的下一部分。例如: 
    /<p>.*<\/p>/ 将匹配整个 <p>Paragraph 1</p><p>Paragraph 2</p> 字符串,如果想要只匹配一个<p></p>则要用"?"将其更改为"惰性数量表示符" ,/<p>.*?<\/p>/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值