限定符:(一个字符)
1.? 例如used?代表?前面的这个字符d需要出现0次或者1次(也就是d可有可无),用used?去匹配use或者used;
2.* *是去匹配0个或多个字符。例如输入ab*c,*号在这里可以表示b可以没有也可以出现多次,可以匹配ac,abc,abbbbbbc,但是不可以匹配adc,因为表达式中明确规定了a和c中间只能出现0个或者多个b;
3.+ 和*号不同的是会匹配出现1次以上的字符;
如果想做到更精确的匹配,例如想指定b出现的次数为6次,则使用{...}即ab{6}c,则匹配abbbbbbc,花括号同时允许输入一个范围,比如希望字符出现的次数为2到6之间可以写成{2,6}即ab{2,6};如果希望字符出现的次数为两次以上,则省略6就行,如ab{2,}c;
4."."可匹配任意字符;。
(多个字符)---用(),例如(ab)+,则匹配到abc,abbc,abababac;
"或"运算,例如想去匹配a cat或a dog,则写成 a (cat|dog)
字符类,例如想要匹配abc这几个字母构成的单词,可以写作[abc]+,方括号[]里的内容代表要求匹配的字符只能取自于他们,另外可以在方括号里指定字符的范围,比如[a-z]代表所有的小写英文字符,[a-zA-Z]代表所有的英文字符,[a-zA-Z0-9]代表所有的英文字符和数字,如果在方括号前面写一个^(脱字符)则代表要求匹配除了^后面列出的以外的字符,例如[^0-9]代表所有的非数字字符(包括换行符);
元字符,正则表达式中的大多数元字符都以反斜杠\开头。\d代表数字字符等同于之前写的[0-9] ; \w代表"单词"字符,也就是所有的英文字符,数字加上下划线 ; \s代表空白符,同时包含Tab字符(制表符)以及换行符 ; 与\d相对应的\D代表非数字字符,与\w相对应的\W代表非单词字符,与\s相对应的\S代表非空白字符;
一些特殊字符----------- "。"在正则表达式代表任意字符但不包括换行符;^匹配行首$匹配行尾,比如^a只会去匹配行首的a,a$只会匹配行尾的a;
贪婪与懒惰匹配 <.+>默认贪婪匹配任意字符;<.+?>懒惰匹配任意字符