php中正则表达式中必须转义的字符有哪些?

mingfish 2010-05-18 08:20:49
php中正则表达式中必须转义的字符有哪些?

如:
preg_replace("#.........#isU","",$file)

在##内部必须进行转义的字符有哪些?
...全文
651 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2010-05-19
  • 打赏
  • 举报
回复
preg_quote -- 转义正则表达式字符
说明
string preg_quote ( string str [, string delimiter] )


preg_quote() 以 str 为参数并给其中每个属于正则表达式语法的字符前面加上一个反斜线。如果你需要以动态生成的字符串作为模式去匹配则可以用此函数转义其中可能包含的特殊字符。

如果提供了可选参数 delimiter,该字符也将被转义。可以用来转义 PCRE 函数所需要的定界符,最常用的定界符是斜线 /。

正则表达式的特殊字符包括:. \ + * ? [ ^ ] $ ( ) { } = ! < > | :。
zhanglzlkn 2010-05-19
  • 打赏
  • 举报
回复
不懂,学习一下
an9ryfr09 2010-05-18
  • 打赏
  • 举报
回复
<和>并不是正则表达式的元字符
an9ryfr09 2010-05-18
  • 打赏
  • 举报
回复
正则表达式的元字符都需要转义,还有转义字符本身也需要转义。
mingfish 2010-05-18
  • 打赏
  • 举报
回复

<?php
$lte7_str="\n";
$lte7_str.= "HELLO";

$file=file_get_contents("tem/dede_tem/index.htm");
$file_r= preg_replace("#(<!--\[if lte IE 7\]>)(.*)(<!\[endif\]-->)#isU","$1$lte7_str$3",$file);
echo $file_r;
?>



正则表达式的特殊字符包括:. \ + * ? [ ^ ] $ ( ) { } = ! < > | :。
为什么上面的代码中 的!和< 和 > 不用转义都可以匹配
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在C#正则表达式是一种强大的文本处理工具,可用于搜索、匹配和替换字符的特定模式。它通过System.Text.RegularExpressions命名空间实现,该命名空间包含Regex、Match、Group、Capture等类,分别用于正则表达式的编译、匹配、分组捕获等功能 。 例如,实例一展示了如何匹配字符的单词和空白字符正则表达式@"(\w+)\s+(string)",(\w+)匹配一个或多个字母或数字,\s+匹配一个或多个空白字符。代码通过Regex类编译正则表达式,并使用Match方法在字符查找匹配项 。RegexOptions可用于设置匹配选项,如IgnoreCase表示不区分大小写。MatchCollection和GroupCollection分别表示匹配集合和分组集合 。 实例二演示了如何替换字符的特定模式。正则表达式@"\[(.+?)\]"用于匹配方括号及其内部内容,RegexOptions.Multiline表示匹配模式适用于多行文本 。Replace方法可将匹配到的内容替换为尖括号及其内部内容,IsMatch方法用于检查是否存在匹配 。 在实际使用,需注意转义问题。例如方括号在正则表达式有特殊含义,若要匹配实际的方括号字符,需在方括号前加上反斜杠进行转义 。此外,Capture类包含一次匹配的结果,CaptureCollection是一系列Capture的集合 。Group类继承于Capture类,表示一个分组的结果,GroupCollection表示所有分组的集合 。Match类继承于Group类,表示一次表达式的匹配结果,MatchCollection是Match对象的集合 。MatchEvaluator委托可用于替换操作,指定一

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧