我有以下字符串:
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
答案 0 :(得分:1)
我的理解是你在空格(\d+
)之间寻找一系列数字\s
。
您可以写:\s\d+\s
但是它会捕获空格,如果数字位于字符串的开头或结尾,则无效。
您也可以使用边界断言(\b\d+\b
)来编写\b
,但它不起作用,因为某些字符不被视为单词的一部分(您匹配{{1}例如,在3
中。)
更好的方法是:
[3
(?<!\S)\d+(?!\S)
表示前面没有非空格 (?<!\S)
表示后面没有非空格 (?!\S)
表示一个不是空格的字符,\S
... (?<!
和)
... (?!
是负面外观。
在字符串的开头和结尾都满足这两个条件。