C# 中内存分配的正则表达式

本文关键字:正则表达式 分配 内存 | 更新日期: 2023-09-27 17:56:56

>我需要多个数字和一个字母字符的正则表达式。我的目标是获取使用 -Xmx-Xms 在 Java 虚拟机中设置内存的正则表达式,因此它需要传递以下字符串:

-1024k
-512M
-8g
-2048m

所以需要做的是正则表达式传递 1024 的倍数,除非字母是 gG

这是我现在使用的代码,甚至不起作用。将不胜感激的帮助

(Regex.IsMatch(options[2], "''d''^[KkGgMm]$") ? options[2] : "");

C# 中内存分配的正则表达式

你也许可以尝试:

(Regex.IsMatch(options[2], @"^-'d+[KkGgMm]$") ? options[2] : "");

或者,如果你真的想使用正则表达式来验证数字(不建议,它也有限制),你会得到这样的东西:

(Regex.IsMatch(options[2], @"^-(?:'d+[Gg]|(?:128|256|512|1024|2056)[MmKk])$") ? options[2] : "");

这也将匹配-128m(与 M、K 和 k 类似)、256、512、1024 和 2056,但不更高。

我不确定我是否理解你想要实现的目标。下面是一个正则表达式,如果输入字符串的形式为 -xL,则与输入字符串中的数字匹配(x 是任何数字,L 是除 g 或 G 之外的任何字母):

^'-('d+)[^Gg]'b

您将在捕获组中拥有您的号码(如果有)