PHP正则表达式向前看和向后看-两者不能匹配?
我目前正在寻找一种在某些地方从字符串中删除句号的方法 我想这样,它将删除全站只有当2个条件不满足 句号前没有数字 和 句号后没有数字 我现在有这个正则表达式PHP正则表达式向前看和向后看-两者不能匹配?,php,regex,Php,Regex,我目前正在寻找一种在某些地方从字符串中删除句号的方法 我想这样,它将删除全站只有当2个条件不满足 句号前没有数字 和 句号后没有数字 我现在有这个正则表达式 '#(?<!\d)\.(?!\d)#' 我猜,因为在全站之前或之后都有一个数字,所以比赛失败,无法识别 我怎样才能做到既要向前看,又要向后看,这样才能进行比赛,才能正确地移除挡块 多谢各位 编辑 当且仅当~前面没有数字或后面没有数字时,我希望它删除句号。因此,如果字符串类似于So(一个数字)。(一个数字),则只能有一个句号,但在任何
'#(?<!\d)\.(?!\d)#'
我猜,因为在全站之前或之后都有一个数字,所以比赛失败,无法识别
我怎样才能做到既要向前看,又要向后看,这样才能进行比赛,才能正确地移除挡块
多谢各位
编辑
当且仅当~前面没有数字或后面没有数字时,我希望它删除句号。因此,如果字符串类似于So(一个数字)。(一个数字)
,则只能有一个句号,但在任何其他情况下都会删除句号。您可以执行以下操作:
'#((?<!\d)\.|\.(?!\d))#'
'#((?你的问题似乎与我矛盾。句号前没有数字
和句号后没有数字
,如果你使用和
的话,它只会在两个条件都满足时匹配,你的示例字符串不能正确匹配。你是说还是?我的意思是我想删除它当且仅当句号前没有数字且句号后没有数字时,句号才会停止。因此,如果是这样的话,则只能出现句号1122.2323
您在问题中的措辞令人困惑。您能否给出“1.6”和“h.j”的预期输出示例?我编辑了这个问题,很抱歉造成混淆!你又编辑了一次。:-p不(前后)
与不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后不在前后
'#((?<!\d)\.|\.(?!\d))#'