gpt4 book ai didi

c# - 相当于什么?在正则表达式中的delphi MatchesMask中?

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:54 25 4
gpt4 key购买 nike

德尔福的MatchesMask文档说关于 ? (强调我的):

Wildcards are asterisks (*) or question marks (?). An asterisk matches any number of characters. A question mark matches a single arbitrary character.

我的问题: MatchesMask 中的 ? 等同于正则表达式中的 . 吗?还是等同于正则表达式中的 .??据我所知,两者之间是有区别的。 . 匹配 一个 个非换行符,而 .? 匹配零个或一个 个非换行符。

我已阅读 this但除了告诉我对 MatchesMask 使用正则表达式外,它没有太大帮助。


如果有帮助,我真正想做的是将一些 delphi 代码转换为 C#,我在其中遇到了这段代码,其中 myMask 是以几个 ?< 结尾的字符串:

if MatchesMask(myString, myMask) then begin  // myMask has value '100-10???'
Result := True;
exit;
end;

最佳答案

MatchesMask 中的 ? 匹配任何单个任意字符,就像 DOS 通配符中的 ? 一样。您指定的特定掩码 ('100-10???') 需要字符串 100-10 后跟三个任意字符。

等效的正则表达式是

100-10.{3}

哪个匹配

100-10abc
100-10ABC
100-10X12
100-10399

但不匹配

100-20abc
100-22xyz
100-10
100-101
100-1023

关于c# - 相当于什么?在正则表达式中的delphi MatchesMask中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41658254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com