RegEx仅匹配不以单引号开头或结尾的数字

时间:2018-06-07 15:00:53

标签: java regex

我试图替换字符串中的所有数字,而不是使用Java包装在单引号中。

示例:22 111'333

匹配应仅返回:22和333

我尝试了几个正则表达式:

我首先选择所有出现的数字<canvas id="canvas"></canvas> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我试图以此为基础,但无法否定单引号 以及与上述内容的组合:-?\\d+-?(^[^\']([0-9]*))

1 个答案:

答案 0 :(得分:4)

您可以将此正则表达式与周围的断言一起使用:

(?<![\d'])\d+(?![\d'])

RegEx Demo

  • (?<![\d']):负面观察断言我们在前一个位置没有单引号或数字
  • (?![\d']):否定前瞻断言我们在下一个位置没有单引号或数字