https://www.myregextester.com/?r=6fba8b94

正则表达式是

(\w(s)\b)

样词
Dress
  • \ 1返回“连衣裙”
  • \ 2返回“Dres”

  • 所以我想:
  • \ 1 \ 2将返回“Dress Dres”

  • 但它返回:
    "Dress s"
    

    如何使它返回“Dress Dres”

    最佳答案

    首先,使用带有+\w量词来匹配1个或多个单词字符(您只能将1个与\w匹配)。这就是为什么只得到ss的原因(请参阅your regex in actionss捕获为组1,将s捕获为组2)。

    并使用:

    (\w+)s\b
    

    使用\0 \1替换时,\0向后引用整个匹配项,而\1向后引用使用(\w+)捕获的内容。参见demo here

    或者,如果是Perl,则使用((\w+)s)\b并替换为\1 \2(请参阅demo)。

    参见demo

    09-05 01:17