2

我需要将单词检测为“bot/hersen/levermetastase”并将它们转换为“botmetastase、hersenmetastase、levermetastase”。但也将'lever/botmetastase'变成'levermetastase,botmetastase'。

所以我需要确保“单词/单词/单词转移”在数字上尽可能多变。

这是我的解决方案,但它不起作用。

过滤器

\b(\w)\s*[\/]\s*(\w)\s*(metastase)\b 

过滤器

$1metastase, $2metastase, $3metastase
4

1 回答 1

1

您可以使用

/?(\w+)(?=(?:/\w+)+metastase\b)/?

替换为$1metastase (末尾有空格)。

如果斜线周围可以有空格,请使用

/?\s*(\w+)(?=(?:\s*/\s*\w+)+metastase\b)(?:\s*/)?
/?\h*(\w+)(?=(?:\h*/\h*\w+)+metastase\b)(?:\h*/)?

where\h匹配仅水平的空白字符,\s并将匹配任何空白字符。

请参阅正则表达式演示 #1正则表达式演示 #2

细节

  • /?- 一个可选/字符
  • (\w+)- 第 1 组:一个或多个单词字符
  • (?=(?:/\w+)+metastase\b)- 必须跟在后面
    • (?:/\w+)+- 出现一次或多次/,然后出现 1+ 个单词字符
    • metastase\b- 和metastase整个单词(\b是单词边界)
  • /?- 一个可选/字符。
于 2020-09-02T09:01:47.557 回答