Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP正则表达式向前看和向后看-两者不能匹配?_Php_Regex - Fatal编程技术网

PHP正则表达式向前看和向后看-两者不能匹配?

PHP正则表达式向前看和向后看-两者不能匹配?,php,regex,Php,Regex,我目前正在寻找一种在某些地方从字符串中删除句号的方法 我想这样,它将删除全站只有当2个条件不满足 句号前没有数字 和 句号后没有数字 我现在有这个正则表达式 '#(?<!\d)\.(?!\d)#' 我猜,因为在全站之前或之后都有一个数字,所以比赛失败,无法识别 我怎样才能做到既要向前看,又要向后看,这样才能进行比赛,才能正确地移除挡块 多谢各位 编辑 当且仅当~前面没有数字或后面没有数字时,我希望它删除句号。因此,如果字符串类似于So(一个数字)。(一个数字),则只能有一个句号,但在任何

我目前正在寻找一种在某些地方从字符串中删除句号的方法

我想这样,它将删除全站只有当2个条件不满足

句号前没有数字

句号后没有数字

我现在有这个正则表达式

'#(?<!\d)\.(?!\d)#'
我猜,因为在全站之前或之后都有一个数字,所以比赛失败,无法识别

我怎样才能做到既要向前看,又要向后看,这样才能进行比赛,才能正确地移除挡块

多谢各位

编辑

当且仅当~前面没有数字或后面没有数字时,我希望它删除句号。因此,如果字符串类似于So
(一个数字)。(一个数字)
,则只能有一个句号,但在任何其他情况下都会删除句号。

您可以执行以下操作:

'#((?<!\d)\.|\.(?!\d))#'

'#((?你的问题似乎与我矛盾。
句号前没有数字
句号后没有数字
,如果你使用
的话,它只会在两个条件都满足时匹配,你的示例字符串不能正确匹配。你是说
还是
?我的意思是我想删除它当且仅当句号前没有数字且句号后没有数字时,句号才会停止。因此,如果是这样的话,则只能出现句号
1122.2323
您在问题中的措辞令人困惑。您能否给出“1.6”和“h.j”的预期输出示例?我编辑了这个问题,很抱歉造成混淆!你又编辑了一次。:-p
不(前后)
不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后
'#((?<!\d)\.|\.(?!\d))#'