RegEx问题:医学术语的标准化



我需要将单词检测为"bot/hersen/livermetasse",并将其转换为"botmetasse,hersenmetastase,levermetasse"。但也将"杠杆/转移酶"转变为"杠杆转移酶,转移酶"。

所以我需要确定;字/字/字转移";在数量上尽可能可变。

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

过滤器

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

过滤

$1metastase, $2metastase, $3metastase

您可以使用

/?(w+)(?=(?:/w+)+metastaseb)/?

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

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

/?s*(w+)(?=(?:s*/s*w+)+metastaseb)(?:s*/)?
/?h*(w+)(?=(?:h*/h*w+)+metastaseb)(?:h*/)?

其中h匹配仅水平的空白字符,而s将匹配任何空白字符。

请参阅regex演示#1和regex演示#2。

详细信息

  • /?-可选的/字符
  • (w+)-组1:一个或多个单词字符
  • (?=(?:/w+)+metastaseb)-后面必须跟
    • (?:/w+)+-出现一个或多个/,然后出现1+字字符
    • metastaseb-和metastase全字(b为字边界(
  • /?-可选的/字符

最新更新