是否可以仅使用 PCRE 替换来添加“'s` or `'”(如果单词以“s”结尾)?
Is it possible to add `'s` or `'` (if a word ends with `s`) using only PCRE replace?
免责声明:这是一项人工任务,没有任何初始或潜在问题。
有没有办法执行以下替换:
zerkms -> zerkms'
foo -> foo's
仅使用 PCRE 方言和 replace
操作(如 https://regex101.com/ 中所示且没有特定语言扩展)?
我个人认为这是不可能的,因为没有(?)方法可以将任意(原始字符串中不存在的)常量子字符串放入捕获匹配中。如果可能 - 那么我会有一个解决方案。
我付出的努力:好吧,这里不多,因为我还没有找到在 PCRE 中执行条件替换的任何方法。
PS:https://regex101.com/ 欢迎演示。
PPS:问题根本不是这样做(我知道我们都可以使用带条件的编程语言),而是展示 PCRE 能力(或缺乏)。
PCRE 是关于寻找的。替换不是 PCRE 或正则表达式的一部分。
s/(s?)\b/?"s'":"'s"/eg;
(s?)\b
是 PCRE。剩下的就是Perl的替换实现了。
编辑:"no"。简而言之:您不能使用 PCRE 进行条件替换,因为您首先不能使用 PCRE 进行 replace。
免责声明:这是一项人工任务,没有任何初始或潜在问题。
有没有办法执行以下替换:
zerkms -> zerkms'
foo -> foo's
仅使用 PCRE 方言和 replace
操作(如 https://regex101.com/ 中所示且没有特定语言扩展)?
我个人认为这是不可能的,因为没有(?)方法可以将任意(原始字符串中不存在的)常量子字符串放入捕获匹配中。如果可能 - 那么我会有一个解决方案。
我付出的努力:好吧,这里不多,因为我还没有找到在 PCRE 中执行条件替换的任何方法。
PS:https://regex101.com/ 欢迎演示。
PPS:问题根本不是这样做(我知道我们都可以使用带条件的编程语言),而是展示 PCRE 能力(或缺乏)。
PCRE 是关于寻找的。替换不是 PCRE 或正则表达式的一部分。
s/(s?)\b/?"s'":"'s"/eg;
(s?)\b
是 PCRE。剩下的就是Perl的替换实现了。
编辑:"no"。简而言之:您不能使用 PCRE 进行条件替换,因为您首先不能使用 PCRE 进行 replace。