求教php或者正则表达式的高手,正则表达式PHP

本文目录一览:

求教php正则高手。php正则获取html内容中的所有img路径及名称,替换img的路径

正则表达式:(?=img src=\”)(/.+/)(.+?\.(gif|jpg|png))(?=\”)

分别取第0和第2捕获组的数据,就是你要的获取/abc/efg/qwe/1.gif和获取1.gif的数据

替换你可以用上面的正则表达式:(?=img src=\”)(/.+/)(.+?\.(gif|jpg|png))(?=\”)

替换成:style/images/$2

我给你一个用Java实现的上述正则表达式的例子.

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class CC {

 public static void main(String[] args) {

  String s=”img src=\”/abc/efg/qwe/1.gif\””;

  String regex=”(?=img src=\”)(/.+/)(.+?\\.(gif|jpg|png))(?=\”)”;

  Pattern p=Pattern.compile(regex);

  Matcher m=p.matcher(s);

  while(m.find()){

   System.out.println(m.group());

   System.out.println(m.group(2));

  }

  System.out.println(s.replaceAll(“(?=img src=\”)(/.+/)(.+?\\.(gif|jpg|png))(?=\”)”, “style/images/$2”));

 }

}

运行结果:

/abc/efg/qwe/1.gif

1.gif

img src=”style/images/1.gif”

求教php或者正则表达式的高手, preg_replace(“/([^()]*/)”, “”, $address); 这个正则表达式语法错在哪里

有两个地方错的,不知道你要这个表达式做什么,帮你改了三份,你看下。

preg_replace(“/\([^()]*/”, “”, $address);

preg_replace(“/\([^()]*\)/”, “”, $address);

preg_replace(“/([^()]*)/”, “”, $address);

表达式字符串需要使用 / 来表明界限,你的表达式在右界线符右边有一个右圆括号。

表达式内部的圆括号是用来为表达式分组的,而你的表达式内只有一个左括号,无法配对。

PHP正则表达式高手来啊

你好,我虽然没学过PHP,但是为了帮助你(还有你的100分)也稍微看了一下,这里说一下我的见解..不对的还请见谅

首先我不建议楼主先获取字符串数组再用循环一一替换,看了一下preg_replace这个方法,我自己仿写了一个

?php

$string = “[a href=?c=12a=l=2p=22/a] [a href=?c=12a=l=2p=33/a] [a href=?c=12a=l=2p=44/a] [a href=?c=12a=l=2p=55/a] [a href=?c=12a=l=2p=66/a] [a href=?c=12a=l=2p=77/a] [a href=?c=12a=l=2p=88/a] [a href=?c=12a=l=2p=99/a] [a href=?c=12a=l=2p=1010/a] [a href=?c=12a=l=2p=2下一页/a]”;

$pattern = “/(\?c=)(\d+)(a=l=2p=)(\d+)/g”;

$replacement = “/list/\\2-\\4.html”;

print preg_replace($pattern, $replacement, $string);

?

上面的代码是替换,先取得字符串,再替换,再拆分,这样可以少一步循环

下面是拆分的正则表达式,根据[]作判断,看了楼主写的好象有点不太明白取什么,我这里是取的每一个[],正则表达式为

/\[[^\]]*\]+?/g

说明一下每个符号的作用

\[ :转义为符号”[” , \]意思相同

取[]中间的那些非”]”的内容, 最后的\]+?是非贪婪匹配,意思是取到一个符合的就停止,这样不会把整个字符串都取了,如果楼主不想要两端的[], 可以改成这样

/(?=\[)[^\]]*(?=\])+?/g

不消费两端的[]号

以上代码我没在PHP里运行,只在别的语言上试了下可以,见笑了~~

PS:第一段代码中$pattern正则中的号必须要写成” amp ;”(无空格) 百度里不让打出来,切记!

求高手帮忙php或正则表达式

我测试了下,这个正式表达式,在微软的环境中可以通过!

^.*\\(.*)\\$

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/279474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-20 15:04
下一篇 2024-12-20 15:04

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python正则表达式search()和match()有什么区别?

    search()和match()都是Python中的正则表达式函数,它们的作用都是在一个字符串中搜索匹配正则表达式的位置,但它们有着不同的使用场景和返回结果。 一、search()…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • MySQL正则表达式替换

    MySQL正则表达式替换是指通过正则表达式对MySQL中的字符串进行替换。在文本处理方面,正则表达式是一种强大的工具,可以方便快捷地进行字符串处理和匹配。在MySQL中,可以使用正…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24
  • 详解 IP 正则表达式

    一、IP 地址基础知识 在讲解 IP 的正则表达式前,我们先来了解一下 IP 地址的基础知识。IP 是 Internet Protocol 的缩写,用于标识网络中的设备。IP 地址…

    编程 2025-04-24

发表回复

登录后才能评论