正则表达式中的特殊字符:
^ :匹配字符串的开头,设置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} :指定前一项目的数量或数量范围 /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>/ (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|