php删除介于和包括特定字符之间的字符

php删除介于和包括特定字符之间的字符,php,regex,Php,Regex,我知道如何删除字符串中的特定字符,但不确定以下内容: $str = trim(preg_replace('/\[\d+\]/', '', 'your_string_here')); e、 字符串:code[7845][5589][554][4] 我需要删除[和]的所有实例以及它们之间的所有内容,然后删掉空白,这样我只需要:code 这可能吗?请尝试以下操作: $str = trim(preg_replace('/\[\d+\]/', '', 'your_string_here')); 函数的

我知道如何删除字符串中的特定字符,但不确定以下内容:

$str = trim(preg_replace('/\[\d+\]/', '', 'your_string_here'));
e、 字符串:
code[7845][5589][554][4]

我需要删除
[
]
的所有实例以及它们之间的所有内容,然后删掉空白,这样我只需要:
code

这可能吗?

请尝试以下操作:

$str = trim(preg_replace('/\[\d+\]/', '', 'your_string_here'));
函数的第一个参数是正则表达式<您看到的code>\d与一个数字匹配,它后面的
+
表示您应该至少匹配一个数字。有关preg_更换的更多信息。有关正则表达式的更多信息。

这就可以了:)

说明:

"
\[    # Match the character “[” literally
.     # Match any single character that is not a line break character
   *  # Between zero and unlimited times, as many times as possible, giving back as needed (greedy)
\]    # Match the character “]” literally
"

正如@Felix指出的,这是一个相当简单的表达。您应该看一看,并尝试熟悉您可以使用的各种技术。

您需要提供有关您的需求的更多详细信息

假设:

$s = 'Code [7845] [5589] [554] [4]';
如果字符串总是以您要查找的内容开头,其余的内容总是可以丢弃,那么这可能是最有效的:

$s = trim(substr($s, 0, strpos($s, '[')));
如果要保留原始字符串并仅删除几组数字,则:

$s = trim(preg_replace('/\[\d+\]/', '', $s));

到目前为止你试过什么?这是完全可能的,只需要一个简单的表达式。这将删除此[12asda]。他只要求数字值:)@SavasVedova除非我的英语背叛了我,否则中间的一切都意味着一切。你会遇到嵌套方括号的问题-请参阅@nickb我在OP的示例中没有看到任何嵌套。@ividual santos你需要从正则表达式中删除
\s*