加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式总结

发布时间:2020-12-13 19:33:10 所属栏目:百科 来源:网络整理
导读:正则表达式中的特殊字符: ^ :匹配字符串的开头,设置m(multiline)标志后,还匹配行的开头,用在字符类开头反转集合的意义:/[^a-z0-9]/ 匹配除小写字母和数字外的任意字符,这种用法^一定要放在开头否则失去意义 $ :匹配字符串的结尾。设置m(multiline)标志后

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

^ :匹配字符串的开头,设置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>/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读