添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我没有在PHP中使用正则表达式的经验,所以我通常使用一系列str_replace()、substr()、strpos()、str str str()等来编写一些卷积函数(你知道的)。

这次我想正确地执行这个操作,我知道我需要使用一个regex来完成这个操作,但是对于使用什么(ereg或preg),以及语法应该是怎样的,我感到困惑。

注意:我不分析HTML或XML,有时我会使用除(例如,或~或[标记]或::)之外的分隔符。我正在寻找使用regex在两个已知分隔符之间进行通配符替换的通用方法,我不构建HTML或XML解析器。

我需要的是一个regex来代替这个:

everything in here

new contents

我已经在网上阅读了一些文档,但是我很困惑,我希望你们中的一个regex专家能提出一个简单的解决方案。我怀疑我会将这些值传递给一个函数,如下所示:

$new_text = swapText ( "", $the_new_text_to_go_into_the_dag );

function swapText ( $in_tag_with_brackets_to_update, $in_new_text ) {

// define tags

$starting_tag = $in_tag_with_brackets_to_update;

$ending_tag = str_replace( "

// not sure if this is the proper regex match string or not

// and/or if any escaping needs to be done on the tags

$find_string = "{$starting_tag}.*{$ending_tag}";

$replace_with_string = "{$starting_tag}{$in_new_text}{$ending_tag}";

// after some regex, this function should return new version of data

我没有在PHP中使用正则表达式的经验,所以我通常使用一系列str_replace()、substr()、strpos()、str str str()等来编写一些卷积函数(你知道的)。这次我想正确地执行这个操作,我知道我需要使用一个regex来完成这个操作,但是对于使用什么(ereg或preg),以及语法应该是怎样的,我感到困惑。注意:我不分析HTML或XML,有时我会使用除(例如,或~或[标记]或... 其 ,-i选项表示直接修改文件,oldstring表示需要 替换 的字符,newstring表示 替换 后的字符,g表示全局 替换 。 2. 如果需要 替换 多个文件,可以使用 通配符 ,例如: sed -i 's/oldstring/newstring/g' *.txt 这样就可以 替换 所有txt文件 的oldstring为newstring。 3. 如果需要 替换 的字符 包含特殊字符,需要使用转义符号,例如: sed -i 's/\/home\/user\/oldstring/\/home\/user\/newstring/g' filename 其 ,\/表示/字符的转义。 希望以上回答能够帮到您。 ### 回答2: sed是一种流编辑器,常用于对文本进行编辑和转换。其 一个常见的功能就是对字符串 的字符进行 替换 。在sed ,可以使用s命令来进行 替换 操作。 s命令的基本格式为:s/pattern/replacement/options 其 ,pattern表示要匹配的字符串模式,它可以是一个正则表达式。replacement表示要 替换 成的字符串,options则是可选参数,可以控制 替换 的方式和范围。 例如,要将文本文件 所有的"apple" 替换 成"orange",可以使用以下命令: sed 's/apple/orange/g' filename 在这个命令 ,s表示 替换 操作,/g表示全局 替换 。这样,sed将会匹配所有的"apple"字符串,并将它们 替换 成"orange"。 除了直接 替换 字符串外,sed还支持一些高级 替换 操作。比如,在 替换 文本时,可以使用正则表达式来匹配更加复杂的模式。此外,还可以使用 替换 命令来删除或插入内容,以及将 替换 结果保存到文件 。 总之,sed是一个非常强大的字符串 替换 工具,可以帮助我们高效地编辑和处理文本文件。在处理大量文本时,掌握sed的基本用法和高级技巧,将为我们的工作带来很大的便利。 ### 回答3: sed是一种流编辑器,用于对文本进行处理并进行 替换 、删除、添加等操作。在sed 替换 字符串 的字符是一种常见的操作。下面介绍sed 替换 字符串 的字符的基本语法和用法。 语法格式: sed 's/要 替换 的字符/ 替换 成的字符/g' 文件名 其 ,s为 替换 字符串的命令,/要 替换 的字符/为要 替换 的字符,/ 替换 成的字符/为要 替换 成的字符,g为全局 替换 标志,表示 替换 所有出现的目标字符串,如果不加g标志,则只 替换 第一个出现的目标字符串。文件名为要执行 替换 操作的文件名,如果不指定文件名,则默认使用标准输入。 例如,执行以下命令: sed 's/old/new/g' input.txt 表示要 替换 input.txt文件 所有的old为new。 除了简单的字符 替换 外,sed还支持正则表达式的 替换 操作。例如,执行以下命令: sed 's/^[a-z]/&\./g' input.txt 表示要将input.txt文件 所有以小写字母开头的行的第一个字符 替换 为此字符和一个点,即在每个匹配字符前添加一个点。 此外,sed还支持将 替换 后的结果写入新文件、 替换 一行 的某个字符等高级用法。在使用sed进行字符串 替换 时,需要注意正则表达式的使用和目标字符串的特殊字符转义。