基本正则表达式
基本正则表达式
元字符描述.匹配任意单个字符*匹配其前面的字符任意次.*任意长度的任意字符[]匹配指定范围内的任意单个字符[^]匹配指定范围外的任意单个字符[:lower:]小写字母[:upper:]大写字母[:alpha:]所有字母[:digit:]数字[:alnum:]所有数字和字母[:punct:]标点符号[:space:]空白字符\?匹配其前面的字符1次或0次\{m,n\}匹配其前面的字符至少m次,至多n次^ 铆定行首,此字符后面的任意内容必须出现在行首$铆定行尾,此字符前面的任意内容必须出现在行尾^$表示空白行\<或\b铆定词首,其后面的任意字符必须作为单词的首部出现\>或\b铆定词尾,其前面的任意字符必须作为单词的尾部出现反斜杠(反斜杠)分组反斜杠(ab反斜杠).*反斜杠1引用第一个左括号以及与之对应的右括号所包括的所有内容反斜杠(ab反斜杠).*反斜杠2引用第二个左括号以及与之对应的右括号所包括的所有内容反斜杠(ab反斜杠)*ab作为一个整体,可以出现任意次
转义字符
$匹配输入字符串的结尾位置。匹配"$"字符本身,使用"\$"。()标记一个子表达式的开始和结束位置。要匹配"("或")"字符,使用"\("和"\)"。*匹配前面的子表达式零次或多次。要匹配"*"字符,使用"\*"。+匹配前面的子表达式一次或多次。匹配"+"字符,使用"\+"。.匹配除换行符"\n"之外的任何单字符。匹配"."使用"\."。[]标记一个中括号表达式的开始。要匹配"[]",需要在前面加上反斜杠转义。?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配"?"字符,使用"\?"。\将下一个字符标记为转义字符。要匹配"\"使用"\\"。^匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配"^"字符本身,使用"\^"。{}标记限定符表达式的开始。要匹配"{}",使用"\{"和"\}"。|指明两项之间的一个选择。要匹配"|",使用"\|"。
附录
贪婪模式:“*”,“+”和“?”限定符都被称为“贪心的”,因为它们匹配尽可能多的文本。
非贪婪模式:通过在“*”,“+”和“?”限定符之后放置“?”,该表达式转换为“非贪心”表达式或者最小匹配。
贪婪模式和非贪婪模式前提是整个表达式匹配成功,即有多个选项被匹配上。
举例:
源字符串:aa<div>test1</div>bb<div>test2</div>cc
贪婪模式:<div>.*</div>
结果:<div>test1</div>bb<div>test2</div>
非贪婪模式:<div>.*?</div>
结果:<div>test1</div>