我想让所有事物都介于两颗星之间-除了它们之间有一个反斜杠。
因此,例如:
*hello* world
应该返回“ hello”,但是
*hello \* world*
应该返回“ hello * world”
我尝试了以下正则表达式:
/(?
在http://regex101.com/上完美运行,但php返回:
警告:preg_replace():编译失败:缺少)在偏移量21处
我究竟做错了什么?
-
编辑1:
这是我的PHP代码:
var_dump(preg_replace('/(?$1', '*hello world*'));
参考方案
您没有正确转义反斜杠,这会导致转义)字符。
要在PHP中匹配\,您需要4个反斜杠
/(?
必须这样做,因为类似C的字符串中的每个反斜杠
必须以反斜杠转义。那会让我们有规律
如您最初所假设的那样,带有2个反斜杠的表达式。
但是,正则表达式中的每个反斜杠必须以
反斜杠也一样。这就是我们以4个反斜杠结尾的原因。
或者使用带有2个反斜杠的字符类
/(?
文字反斜杠也可以使用preg_match()进行匹配,方法是使用
角色类代替。反斜杠出现时不会转义
在正则表达式的字符类中。因此(“ [\]”)
将匹配文字反斜杠。反斜杠仍必须转义
一次反斜杠,因为它仍然是一个类似于C的字符串。
编辑找到的this article,它解释了为什么这样做是必要的。此外,还添加了解释。
正则表达式:字母后不能再有另一个字母 - php
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current fo…PHP-将日期插入日期时间字段 - php
我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数PHP-如何获取类的成员函数列表? - php
如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友php Singleton类实例将在多个会话中保留吗? - php
举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…php ziparchive类源代码 - php
Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…