求用php正则表达式来替换字符的写法。

作者&投稿:骑荷 (若有异议请与网页底部的电邮联系)
mysql正则表达式替换字符串~

mysql的正则匹配用regexp,而替换字符串用REPLACE(str,from_str,to_str)
举例如下:
UPDATE myTable SET HTML=REPLACE(HTML,'','') WHERE HTML REGEXP '(\s*){2,}'
达到的效果:会把所有全部替换掉。
mysql中常用的替换函数

所用到的函数:
locate:

LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

substring

SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元。

replace

replace(str1, str2, str3): 在字串 str1 中,当str2 出现时,将其以 str3 替代。

public class Regular{

public static void main(String[]args){

//把字符串中的 "aaa"全部替换为"z" 打印zbzcz

System.out.println("aaabaaacaaa".replaceAll("a","z"));

//把字符串的"aaa","aa"或者"a" 全部替换为"*" 打印*b*c*

System.out.println("aaabaaca".replaceAll("a,"\\*"));

//把字符串中的数字全部替换为"z" 打印zzzazzbzzcc

System.out.println("123a44b35cc".replaceAll("\ \d","z"));

//把字符串中的非数字全部替换为"0" 打印1234000435000

System.out.println("1234abc435def".replaceAll("\ \D","0"));

//把字符串中的"."全部替换为"\"打印abc\def\ghi\jk

System.out.println("abc.def.ghi.jk".replaceAll("\\.","\\\\"));

//把字符串中的"a.b"全部替换为"-","a.b"表示长度为3的字符串,以a开头以b结尾

//打印-hello-lining

System.out.println("axbhelloasblining".replaceAll("a.b","-"));

//把字符串中的所有词字符替换为"#"

//正则表达式"[a-zA-Z_0-9]等价于"\w"

//打印#.#.#.#.#.

System.out.println("a.b.c.1.2.".replace("\w","#"));

}

}

注意:由于"." ,"?" ,"+",等在正则表达式中有特殊的含义,如果要表示字面上的这些字符,必须以"\\"开头。

字符 匹配 示例
^ 输入或行的起始部分。 ^T 匹配“This good earth”中的“T”,但不匹配“Uncle Tom’s Cabin”中的“T”。
$ 输入或行的结尾部分。 h$ 匹配“teach”中的“h”,但是不匹配“teacher”中的“h”
* 0 个或多个前置字符。 um* 匹配“rum”中的“um”、“yummy”中的“umm”以及“huge”中的“u”
+ 1 个或多个前置字符。 um+ 匹配“rum”中的“um”和“yummy”中的“umm”,但在“huge”中没有任何匹配项
? 前置字符最多出现一次(即,指示前置字符是可选的)。 st?on 匹配“Johnson”中的“son”和“Johnston”中的“ston”,但在“Appleton”和“tension”中没有任何匹配项
. 除换行符外的任何单字符。 .an 匹配短语“bran muffins can be tasty”中的“ran”和“can”
x|y x 或 y。 FF0000|0000FF 匹配 bgcolor=”#FF0000” 中的“FF0000”和 font color=”#0000FF” 中的“0000FF”
{n} 恰好 n 个前置字符。 o{2} 匹配“loom”中的“oo”和“mooooo”中的前两个“o”,但在“money”中没有任何匹配项
{n,m} 至少 n 个、至多 m 个前置字符。 F{2,4} 匹配“#FF0000”中的“FF”和“#FFFFFF”中的前四个“F”
[abc] 用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。 [e-g] 匹配“bed”中的“e”、“folly”中的“f”和“guard”中的“g”
[^abc] 未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。 [^aeiou] 最初匹配“orange”中“r”、“book”中的“b”和“eek!”中的“k”
\b 词边界(例如空格或回车符)。 \bb 匹配“book”中的“b”,但在“goober”和“snob”中没有任何匹配项
\B 词边界之外的任何内容。 \Bb 匹配“goober”中的“b”,但在“book”中没有任何匹配项
\d 任何数字字符。等效于 [0-9]。 \d 匹配“C3PO”中的“3”和“apartment 2G”中的“2”
\D 任何非数字字符。等效于 [^0-9]。 \D 匹配“900S”中的“S”和“Q45”中的“Q”
\f 换页符。
\n 换行符。
\r 回车符。
\s 任何单个空白字符,包括空格、制表符、换页符或换行符。 \sbook 匹配“blue book”中的“book”,但在“notebook”中没有任何匹配项
\S 任何单个非空白字符。 \Sbook 匹配“notebook”中的“book”,但在“blue book”中没有任何匹配项
\t 制表符。
\w 任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。 b\w* 匹配“the barking dog”中的“barking”以及“the big black dog”中的“big”和“black”
\W 任何非字母数字字符。等效于 [^A-Za-z0-9_]。 \W 匹配“Jake&Mattie”中的“&”和“100%”中的“%”
Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh) 回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别”的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配 <br> 标签或 <p> 标签。回车符在“设计”视图中显示为空格而不是换行符。

<?php
echo preg_replace("<div id="homeWelcome">(.*)<div>
", "<div id="homeWelcome">我不是别的<div>", 要替换的源);
?>

如何用正则表达式来匹配替换?
答:用正则表达式替换的php例子程序如下 其实可以不用正则表达式,直接用字符串替换就可以,php的例子程序如下

php正则表达式preg_replace只替换一次(有很多匹配项……)
答:mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。如果要只一次,加上limit即可 <?php p ...

php查询style里面的内容并进行替换如何弄?
答:使用字符串替换函数,str_replace()。str_replace('px', 'rpx', '')。使用正则表达式替换函数,preg_replace("")。preg_replace('/px/', 'rpx', '')

PHP正则表达式的使用技巧
答:PHP正则表达式的定义 用于描述字符排列和匹配模式的一种语法规则 它主要用于字符串的模式分割 匹配 查找及替换操作 PHP中的正则函数 PHP中有两套正则函数 两者功能差不多 分别为 一套是由PCRE(Perl Compatible Regular Expression)库提供的 使用 preg_ 为前缀命名的函数 一套由POSIX(Portable Operating ...

php 中 \ 怎么替换成/ 要正则
答:很简单,代码如下(其实不用正则也可以,strstr()与str_replace()函数也能替换): 1 2 3 4 5 6 7 8 9 10 11 // 需要替换的字符串 $string = 'D:\wwwroot\cms\index.php'; // 假设一个路径 // 正则样式 $pattern = '/\\/'; // 检测是否需要替换 if (preg_match($pattern, $string)) { //...

php 替换指定字符串中,两个字符串之间(包括这两个字符串)之间的内容...
答:这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:str='...你要处理的字符串...';s1='...开始字符串...';s2='...结束字符串...';i1=strpos($str,$s1);...

超常用的PHP正则表达式收集整理
答:\:]*$!\是对php中单引号的转义。或者还有更简单的!^/?[a-z0-9=\:]*$!ii表示忽略大小写。模式分隔符就是为了区分表达式和像i这样的模式修饰符而设计的。什么是正则表达式:简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则...

PHP 标签 正则替换 求教!!!
答:^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>> 上面这个正则能够匹配任意id=footer的html标签。需要注意,此正则表达式需要设置SingleLine=true,这样点号才可以把换行符也匹配进去。对于domoxz 的问题,如果要匹配p标签,那么只需将上述的正则中的HtmlTag替换成p即可。

在PHPStrom编辑器中,怎样使用正则表达式匹配替换?
答:第一个框填 (?<=href=").+?(?=")第二个框填 点Replace all

php中如何对某词语只替换一次啊?
答:preg_replace("/天/", "日", “今天好晒,看来今天很热,天啊”, 1);preg_replace — 执行一个正则表达式的搜索和替换 http://cn.php.net/manual/zh/function.preg-replace.php 注意要替换的天字两端要用斜杠/括起来 这个符号叫模式修饰符 用于正则表达式匹配 函数第四个参数用于控制替换的最...