我正在努力让正则表达式在“测试”之后以及在电子邮件中的“@”之前完成所有操作,以便“test-12345@example.com将成为12345。
我已经做到这一点,让它在“@”符号之前返回所有内容。 (在PHP中工作)
!(\d+)@!
答案 0 :(得分:3)
您可以使用捕获组并使用正则表达式
test-(\d+)@
并使用$1
或使用与(?<=test-)\d+(?=@)
匹配的前瞻和后方12345
答案 1 :(得分:2)
答案 2 :(得分:0)
您需要test
和@
之间的所有内容,因此请勿使用\d
。
$myRegexPattern = '#test([^@])*@#Ui';
preg_match ($myRegexPattern, $input, $matches);
$whatYouNeed = $matches[1];
答案 3 :(得分:0)
试试这个
$input = 'test-12345@example.com';
$regexPattern = '/^test(.*?)\@/';
preg_match ($regexPattern, $input, $matches);
$whatYouNeed = $matches[1];
var_dump($whatYouNeed);