正则表达式一些小例子

 

s=doetdoedbotdfri
re=d[oetf]
result=

do
do
df

 

 

1.?:匹配前面的子表达式零次或一次

 先找到d,中括号表示一个表达式,因此找了中括号里能匹配上的字符和d一起。

s=doedoedbot
re=d[bot]?
result=
do
do
db

*:匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*

遇到中括号里三个都符合,就3个都加上了

s=doedoedbot
re=d[bot]*
result=
do
do
dbot

.:匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \.

d后面接上中括号其中一个,再任意匹配一个单字符。

s=doedoedbotdf
re=d[botf].
result=
do
do
dbot

f后加r,也匹配上了

s=doedoedbotdfr
re=d[botf].
result=
do
do
dbot
dfr

d利用.找到一个o,*贪婪取了后面全部的

s=doedoedbotdfr
re=d[hhoh].*
result=
doedoedbotdfri

d利用.找到一个o,非贪婪接了一个e

s=doetdoedbotdfr
re=d[hhoh].?
result=

doe
doe

 只取中间的:

s="forum/135/topic/794150"
re=\w*\/(\d+)\/\w*\/(\d+)
result=
135
794150

 

posted @ 2018-03-15 15:35  酱测  阅读(204)  评论(0编辑  收藏  举报