如何从字符串中获取数字

时间:2015-06-26 22:19:12

标签: python regex

我有以下字符串:

if (isset($_REQUEST) && isset($_REQUEST['search'])) {
  echo json_encode(get_items_by('tag', $_REQUEST['search']));
  die();
}

您能否告诉我如何使用该字符串中的正则表达式仅检索adsfsd gj3h34 sdfsdfs dfs fds 24 d[4sfsdfsd sdfwe32 [3 ?我不知道......

其他例子:

字符串:

24

预期产出:

asd3 [32/ 3vsry4 1 svsdv

字符串:

1

预期产出:

trolololol '3211= la4so25lr 978 cxz

1 个答案:

答案 0 :(得分:1)

我的理解是你在空格(\d+)之间寻找一系列数字\s

您可以写:\s\d+\s但是它会捕获空格,如果数字位于字符串的开头或结尾,则无效。

您也可以使用边界断言(\b\d+\b)来编写\b,但它不起作用,因为某些字符不被视为单词的一部分(您匹配{{1}例如,在3中。)

更好的方法是:

[3

Demo

  • (?<!\S)\d+(?!\S) 表示前面没有非空格
  • (?<!\S)表示后面没有非空格

(?!\S)表示一个不是空格的字符\S ... (?<!) ... (?!负面外观

在字符串的开头和结尾都满足这两个条件。