RegExp-查找最后一个匹配项,并使用左空格

RegExp-查找最后一个匹配项,并使用左空格,regex,Regex,我想从提供的字符串中获取最后一个匹配项。目前是: 2+5+8e+d。它应该选择三个选项中的第二个 RegExp是[(\+\s)](?=[^(\+\s)]*$),它选择第三个+ 我知道这个问题很简单,但没有一个有效: [(\+\s)](?=[^(\+\s)]*$) [(\+\s)](?=[^(\+)]*$) [+](?=[^(+\s)]*$) 原始的RegExp如下:[-+*/](?=[^-+*/]*$),它选择了最后一个+、-、/或*。基本上,我想将其转换为选择“+”、“-”、“*”、“/”

我想从提供的字符串中获取最后一个匹配项。目前是:
2+5+8e+d
。它应该选择三个选项中的第二个

RegExp是
[(\+\s)](?=[^(\+\s)]*$)
,它选择第三个
+


我知道这个问题很简单,但没有一个有效:

  • [(\+\s)](?=[^(\+\s)]*$)
  • [(\+\s)](?=[^(\+)]*$)
  • [+](?=[^(+\s)]*$)
  • 原始的RegExp如下:
    [-+*/](?=[^-+*/]*$)
    ,它选择了最后一个
    +
    -
    /
    *
    。基本上,我想将其转换为选择
    “+”、“-”、“*”、“/”

    最后一个,左边有空格(一)

    您可以在此处进行测试:。

    您可以使用

    /\s[-+\/*](?!.*\s[-+\/*])/
    

    详细信息

    • \s
      -空白
    • [-+\/*]
      -a
      -
      +
      /
      *
    • (?!.*\s[-+\/*])
      -如果在当前位置右侧的任何0+个字符(换行符除外)之后出现
      -
      +
      /
      *
      ,则会导致匹配失败的负前瞻
    如果输入中可能有多行,请将
    *
    替换为
    [^]*
    或您可以使用的
    [\s\s]*

    ^.*\K [\/*+-]
    

    我想要左边的空格,而不是右边。
    \s[-+\/*)](?!.[-+\/*]\s)
    ,好吗?好的,然后使用Ok,谢谢。我应该上传这个评论还是你会发布答案?对不起,如果只提供了一个字符串,那么为什么要使用regexp呢?你能解释一下规则(并给出一些不同的例子)来说明我们如何组合不同的字符串以知道如何正确匹配它们吗?