Regex 是否可以仅使用PCRE replace添加`'s`或````(如果单词以`'s`结尾)?
免责声明:这是一项人工任务,没有任何初始或潜在问题 是否有执行以下更换的方法:Regex 是否可以仅使用PCRE replace添加`'s`或````(如果单词以`'s`结尾)?,regex,pcre,Regex,Pcre,免责声明:这是一项人工任务,没有任何初始或潜在问题 是否有执行以下更换的方法: zerkms -> zerkms' foo -> foo's 仅使用PCRE方言和替换操作,因为它在和没有特定语言扩展名的情况下都有表示 我个人认为这是不可能的,因为在捕获匹配中,没有办法在原始字符串常量子字符串中放置不存在的任意值。如果可能的话,我会有一个解决办法 我付出的努力:嗯,这里没有太多,因为我还没有找到任何方法在PCRE中执行有条件替换 附言:欢迎演示 PPS:问题根本不在于这样做,我知道我
zerkms -> zerkms'
foo -> foo's
仅使用PCRE方言和替换操作,因为它在和没有特定语言扩展名的情况下都有表示
我个人认为这是不可能的,因为在捕获匹配中,没有办法在原始字符串常量子字符串中放置不存在的任意值。如果可能的话,我会有一个解决办法
我付出的努力:嗯,这里没有太多,因为我还没有找到任何方法在PCRE中执行有条件替换
附言:欢迎演示
PPS:问题根本不在于这样做,我知道我们都可以使用带条件的编程语言,而在于展示PCRE的能力或缺乏这些能力。PCRE是关于发现。替换不是PCRE或正则表达式的一部分
s/(s?)\b/$1?"s'":"'s"/eg;
s?\b是PCRE。其余部分是Perl的替代实现
编辑:否。详细说明:您不能使用PCRE执行条件替换,因为您首先不能使用PCRE执行替换。PCRE是关于查找。替换不是PCRE或正则表达式的一部分
s/(s?)\b/$1?"s'":"'s"/eg;
s?\b是PCRE。其余部分是Perl的替代实现
编辑:否。请详细说明:您不能使用PCRE进行条件替换,因为您首先不能使用PCRE进行替换。replace operation?@PHPglue我指的是所谓的替换。我认为您不能执行条件替换,如果这是您要问的话。@zerkms:不是特定于Perl的-大多数实现正则表达式的语言都有一些语法,允许执行替换代码。例如,JavaScript和Ruby都可以做到这一点,尽管它们都不使用PCRE。但如果你看一看PCRE2库文档,恐怕没有一个词是关于替换的。如果您想问在regex101中是否可能,您应该问这个问题。它仍然是一个编号:replace operation?@PHPglue我指的是调用substitution的内容。如果这是您所要求的,我认为您不能执行条件替换。@zerkms:不是特定于Perl的-大多数实现正则表达式的语言都有一些语法,允许执行替换代码。例如,JavaScript和Ruby都可以做到这一点,尽管它们都不使用PCRE。但如果你看一看PCRE2库文档,恐怕没有一个词是关于替换的。如果您想问在regex101中是否可能,您应该问这个问题。这仍然是一个否定:关于展示PCRE能力或缺乏PCRE能力——答案不是如何做代码部分,而是争论为什么它根本不应该被认为是PCRE的一部分。如果问题是我是否可以将搜索字符串中不存在的字符串插入捕获组,而不是我是否可以执行此替换,那么答案是否定的,短28个字符。关于演示PCRE能力或缺乏PCRE能力-答案不是如何执行代码部分,而是争论为什么不应将其视为PCRE的一部分。如果问题是我是否可以将搜索字符串中不存在的字符串插入捕获组,而不是我是否可以执行此替换,那么答案是否定的,短28个字符。