我的字符串:
fields[name_1]
我想使用正则表达式获取fields
和name_1
。
我知道preg_match_all()
,但我不是正则表达的朋友。
答案 0 :(得分:3)
这可以用于直接匹配:
$string = 'fields[name_1]';
preg_match('/(.+)\[(.+)\]/', $string, $matches);
print_r($matches);
你得到:
Array
(
[0] => fields[name_1]
[1] => fields
[2] => name_1
)
因此,您需要$matches[1]
和$matches[2]
。
我还不清楚你确切的需要!
以下是正则表达式的解释:
答案 1 :(得分:2)
仅此处就是SO的例子。简单的搜索就会向您展示您的需求。无论如何,为了让你前进:
<?php
$subject = 'fields[name_1]';
preg_match('/^(.+)\[(.+)]$/', $subject, $tokens);
print_r($tokens);
显然的输出是:
Array
(
[0] => fields[name_1]
[1] => fields
[2] => name_1
)