站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
CMSware正则表达式简介
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==正则表达式的特殊字符== 正则表达式中的特殊字符分为元字符、定位字符等等。 *'''元字符'''是正则表达式中一类有特殊意义的字符,用来描述其前导字符(即元字符前面的字符)在被匹配的对象中出现的方式。元字符本身是一个个单一的字符,但是不同或者相同的元字符组合起来可以构成大的元字符。 :#大括号:大括号用来精确指定匹配元字符出现的次数,例如"/pre{1,5}/"表示匹配的对象可以是"pre"、"pree"、"preeeee"这样在"pr"后面出现1个到5个"e"的字符串。或者"/pre{,5}/"代表pre出现0此到5次之间。 :#加号:"+"字符用来匹配元字符前的字符出现一次或者多次。例如"/ac+/"表示被匹配的对象可以是"act"、"account"、"acccc"等在"a"后面出现一个或者多个"c"的字符串。"+"相当于"{1,}"。 :#星号:"*"字符用来匹配元字符前的字符出现零次或者多次。例如"/ac*/"表示被匹配的对象可以是"app"、"acp"、"accp"等在"a"后面出现零个或者多个"c"的字符串。"*"相当于"{0,}"。 :#问号:"?"字符用来匹配元字符前的字符出现零次或者1次。例如"/ac?/"表示匹配的对象可以是"a"、"acp"、"acwp"这样在"a"后面出现零个或者1个"c"的字符串。"?"在正则表达式中还有一个非常重要的作用,即"贪婪模式"。 还有两个很重要的特殊字符就是"[ ]"。他们可以匹配"[]"之中出现过的字符,比如"/[az]/"可以匹配单个字符"a"或者"z";如果把上面的表达式改成这样"/[a-z]/",就可以匹配任何单个小写字母,比如"a"、"b"等等。 如果在"[]"中出现了"^",代表本表达式不匹配"[]"内出现的字符,比如"/[^a-z]/"不匹配任何小写字母!并且正则表达式给出了几种" []"的默认值: :*[:alpha:]:匹配任何字母 :*[:alnum:]:匹配任何字母和数字 :*[:digit:]:匹配任何数字 :*[:space:]:匹配空格符 :*[:per:]:匹配任何大写字母 :*[:lower:]:匹配任何小写字母 :*[:punct:]:匹配任何标点符号 :*[:xdigit:]:匹配任何16进制数字 另外下面这些特殊字符在转义符号""转义后代表的含义如下: :*s:匹配单个的空格符 :*S:用于匹配除单个空格符之外的所有字符。 :*d:用于匹配从0到9的数字,相当于"/[0-9]/"。 :*w:用于匹配字母,数字或下划线字符,相当于"/[a-zA-Z0-9_]/"。 :*W:用于匹配所有与w不匹配的字符,相当于"/[^a-zA-Z0-9_]/"。 :*D:用于匹配任何非10进制的数字字符。 :*.:用于匹配除换行符之外的所有字符,如果经过修饰符"s"的修饰,"."可以代表任意字符。 利用上面的特殊字符可以很方便的表达一些比较繁琐的模式匹配。例如"/d0000/"利用上面的正则表达式可以匹配万以上,十万一下的整数字符串。 *'''定位字符''':是正则表达式中又一类非常重要的字符,它的主要作用是用于对字符在匹配对象中的位置进行描述。 :#^:表示匹配的模式出现在匹配对象的开头(和在"[]"里面不同) :#$:表示匹配的模式出现在匹配对象的末尾 :#空格:表示匹配的模式出现在开始和结尾的两个边界之一 :#"/^he/":可以匹配以"he"字符开头的字符串,比如hello、height等等; :#"/he$/":可以匹配以"he"字符结尾的字符串即she等; :#"/ he/":空格开头,和^的作用一样,匹配以he开头的字符串; :#"/he /":空格结束,和$的作用一样,匹配以he结尾的字符串; :#"/^he$/":表示只和字符串"he"匹配。 *'''括号''':正则表达式除了可以用户匹配,还可以用括号"()"来记录需要的信息,储存起来,给后面的表达式读取。 比如:<nowiki>/^([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)(.[a-zA-Z0-9_-])$/</nowiki> 就是记录邮件地址的用户名,和邮件地址的[[服务器]]地址(形式为username@server.com之类的),在后面如果想要读取记录下来的字符串,只是需要用"转义符+记录的次序"来读取。比如"1"就相当于第一个"[a-zA-Z0-9_-]+","2"相当于第二个([a-zA- Z0-9_-]+),"3"就是第三个(.[a-zA-Z0-9_-])。但是在php中,""是一个特殊的字符,需要转义,所以""到了php的表达式中就应该写成"1"。 *'''其它特殊符号''':"|":或符号"|"和php里面的或一样,不过是一个"|",而不是php的两个"||"!意思就是可以是某个字符或者另一个字符串,比如"/abcd|dcba/"可能匹配"abcd"或者"dcba"。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)