Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 是否可以仅使用PCRE replace添加`'s`或````(如果单词以`'s`结尾)?_Regex_Pcre - Fatal编程技术网

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个字符。