PHP匹配反斜杠()

| |
[不指定 2011年5月12日 11:28 | by gaoolp ]

       如果想匹配如 .,{,$,等特殊字符(在正则表达式中有特殊意义的字符),就必须在该字符前加反斜杠(\),(C中管它\叫‘转义符’)如果想表示这个反斜杠(\),就在他前面再加个反斜杠,即改成(\\)。
  必须注意的是在PHP中要尽量把正则表达式放在单引号(')中。如果把正则表达式放在双引号里则会引起一些不必要的麻烦。在PHP的正则表达式中也要使用反斜杠(\)来‘掩盖’一些特殊的字符--像反斜杠(\)自身。在表达式中如想匹配一个反斜杠(\),也必须使用两个反斜杠(\)来表示它是原义的反斜杠(\),而不是转义符。在测试中发现,用单引号也需要用四个反斜杠来表示一个。
  类似的原因,把反斜杠(\)放在双引号中时也要使用两个反斜杠(\)来转义。令人困惑的是,根据以上规则,在PHP中的正则表达式里要表示一个反斜杠(\)就要四个反斜杠(\)。PHP解析器会将四个反斜杠(\)解析成两个。之后正则解析又将之解析成一个。
  美圆符$在PHP字串和正则表达式中也是个有特殊意义的字符。如需匹配$的原义字符,就必须写成"\\\$".因为它在双引号里,PHP会将之解析为\$,然后正则解析就会将它匹配为美圆符(而不是表示‘字符串的结束位置’)。

另外需要注意的是,PHP中的正则表达式必须以'/'开始和结束,如:"/abc/",而不能写作"abc"。




 

web技术 » php | 评论(0) | 引用(0) | 阅读(601) 博主:高一鹏
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]