正则表达式使用单引号双引号的区别

afeiqiang 2010-12-08 10:06:03
单引号表示的正则表达式反向引用用单个反斜杠加数字,例如\1,\2
双引号表示的正则表达式反向引用用两个反斜杠加数字,例如\\1,\\2
举例来说,我要写一个匹配<img>标签的src属性的正则,可以写成
'/\<img\s[^\>]*?src=(\'|\")(.*?\.(jpg|jpeg|gif|png))\1/im'

或者
"/\<img\s[^\>]*?src=(\'|\")(.*?\.(jpg|jpeg|gif|png))\\1/im"

...全文
700 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
在-云端 2010-12-08
  • 打赏
  • 举报
回复
单引号的话,如果表达式里有"符号就不需要转义了

双引号的话,需要转义\"
沪php攻城师 2010-12-08
  • 打赏
  • 举报
回复
和字符串里的引号一样嘛
zhang6464 2010-12-08
  • 打赏
  • 举报
回复
就是用单引时里面匹配双引号不用转义了,双引号里面单引不用转义,没多大区别
看看山观观海 2010-12-08
  • 打赏
  • 举报
回复
呀,这个还真没注意过、、、我一般写正则的时候就直接单引了、、、
fxs_2008 2010-12-08
  • 打赏
  • 举报
回复
这个是我遇到的
不知什么原因

但根据惯例和兼容,正则一律使用双引号
afeiqiang 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fxs_2008 的回复:]

其他的

如果你用$1反向引用,单双引号有时会不一样的“$1xxx"
一般用双引号
[/Quote]
这个怎么说?希望能讲详细点
fxs_2008 2010-12-08
  • 打赏
  • 举报
回复
其他的

如果你用$1反向引用,单双引号有时会不一样的“$1xxx"
一般用双引号

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧