### Godot version

4.0 beta 16 and 17

### System information

Windows 11

### Issue description

Before beta 16 you could write `@export_category(name)` and it would make a category with "name" as the name.
Now you must use a string when defining the category name. (`@export_category("name")`)
The issue is that the moment you type something that doesn't start with `"` the engine crashes.

### Steps to reproduce

1. Create a script.
2. Write one of the following:
a) `@export_category()`
b) `@export_group()`
c) `@export_subgroup()`
3. In the parentheses write *any* character other than `"`.
4. Watch it crash.

If you managed to save the file the project will crash when opened.

### Minimal reproduction project

[Minimal.zip](https://github.com/godotengine/godot/files/10561826/Minimal.zip)

int begin_scan = String("@tutorial").length();
			if (begin_scan >= stripped_line.length()) {
				continue; 
			}
			if (stripped_line[begin_scan] == ':') { 
				
				title = "";
				link = stripped_line.trim_prefix("@tutorial:").strip_edges();
			} else {
				/* Syntax:
				 *   @tutorial ( The Title Here )         :         https://the.url/
				 *             ^ open           ^ close   ^ colon   ^ url
				 */
				int open_bracket_pos = begin_scan, close_bracket_pos = 0;
				while (open_bracket_pos < stripped_line.length() && (stripped_line[open_bracket_pos] == ' ' || stripped_line[open_bracket_pos] == '\t')) {
					open_bracket_pos++;
				}
				if (open_bracket_pos == stripped_line.length() || stripped_line[open_bracket_pos++] != '(') {
					continue; 
				}
				close_bracket_pos = open_bracket_pos;
				while (close_bracket_pos < stripped_line.length() && stripped_line[close_bracket_pos] != ')') {
					close_bracket_pos++;
				}
				if (close_bracket_pos == stripped_line.length()) {
					continue; 
				}
				int colon_pos = close_bracket_pos + 1;
				while (colon_pos < stripped_line.length() && (stripped_line[colon_pos] == ' ' || stripped_line[colon_pos] == '\t')) {
					colon_pos++;