diff --git a/+misc/functionArguments.m b/+misc/functionArguments.m
index 9cd5f3c432c5662cee2efa8fa8cb4876bb94d189..477dacc44905baa035e7936cb69dd7f593eb0da9 100644
--- a/+misc/functionArguments.m
+++ b/+misc/functionArguments.m
@@ -2,9 +2,7 @@ function names = functionArguments(func)
 %FUNCTIONARGUMENTS extracts the arguments of a function handle
 %	names = misc.functionArguments(func) returns the arguments of the function handle func as the
 %	string array names
-%% Example
-% names = functionArguments(@(z, zeta, t) z*zeta+t)
-functionArguments = regexp(func2str(func), "(?<=@\().*?(?=\))", "match");
+functionArguments = extractBetween(func2str(func), "@(", ")");
 names = split(string(functionArguments), ",");
 end
 
diff --git a/+unittests/+misc/testMisc.m b/+unittests/+misc/testMisc.m
index 77c2ddf9e594ce013b841b56ccc50867b61ab1b4..afbfcfe58d94ab6d67c17ec9c7d0877dc95568be 100644
--- a/+unittests/+misc/testMisc.m
+++ b/+unittests/+misc/testMisc.m
@@ -6,11 +6,18 @@ end
 
 function testFunctionArguments(tc)
 
+	% single variable case
 	names = misc.functionArguments(@(z) sin(z));
 	tc.verifyEqual(names, "z");
 
+	% multi variable case
 	names = misc.functionArguments(@(z, zeta, t) z*zeta+t);
 	tc.verifyEqual(names, ["z"; "zeta"; "t"]);
+	
+	% none variable case
+	names = misc.functionArguments(@() sin(4));
+	tc.verifyEqual(names, "");
+		
 end % testFunctionArguments()
 
 function testBinomial(testCase)