只匹配!在一个字符串中

时间:2014-12-09 09:52:26

标签: regex string matlab

如果我有这个字符串S= hello! are u ok!? yes ! good !!,那该怎么办? 我想只捕获感叹号,但不是!也不!!

由于

2 个答案:

答案 0 :(得分:4)

使用负面的lookbehind和lookahead断言,如下所示。

(?<![?!])!(?![?!])

DEMO

<强>解释

  • (?<![?!])负面观察,声称该匹配将在?!
  • 之前进行。
  • !匹配文字!符号。
  • (?![?!])否定前瞻,声称匹配将跟随?!个符号。

答案 1 :(得分:0)

[^!](!)(?!!)

试试这个。这应该这样做。抓住捕获。见dmeo。

https://regex101.com/r/iY3eK8/8