https://regex101.com/r/czmlFD/6
请看一下我当前使用的正则表达式。我希望所有内容都保持不变,只是我不想让它拾取-
和non-gaap
中的value-added
,但它仍然必须拾取其他负数。
答案 0 :(得分:1)
如何?
(?<!\S)[\$\(]{0,2}[-\d][\d,.]*\)?%?
(?<!\S)
后面的否定表示断言,正则表达式不能出现在字母后面,这样可以消除匹配项中带连字符的字符串。
另外,从\$?\(?
到[\$\(]{0,2}
开头的更改将意味着($2,605)
中的左括号现在将包含在该匹配中,同时最多只允许两个美元符号和左括号彼此相邻。
最后,将集合中的0-9
更改为\d
将为您节省两个字符。
所有其他匹配项保持不变。
可以在 here 上看到它。