gpt4 book ai didi

.NET 等价于 Perl 正则表达式

转载 作者:行者123 更新时间:2023-12-01 02:56:16 26 4
gpt4 key购买 nike

我需要将 Perl 脚本转换为 VB.NET。我几乎完成了整个转换,但是一些 Perl(看似简单)的正则表达式却让人头疼。以下 Perl 正则表达式的 .NET 等价物是什么?

1)

    $letter =~ s/Users //,;
$letter =~ s/Mailboxes //,;
if($letter =~ m/$first_char/i){

2)

    unless($storegroup =~ /Recovery/ || $storegroup =~ /Users U V W X Y Z/ || $storegroup =~ /Users S T/
|| $storegroup =~ /Users Q R/){

正则表达式对我来说看起来很简单。我尝试浏览 perl.org,但理解一种语言的正则表达式需要一些时间。

最佳答案

在 Perl 中,您可以将斜杠视为类似于双引号的东西,并附加了“在这些斜杠之间是一个正则表达式字符串”的含义。第一个代码块是 Perl 查找/替换正则表达式:

$stringvar =~ s/findregex/replaceregex/;

需要 findregex并将其替换为 replaceregex , 到位。给定的示例是一个非常简单的搜索,而 .NET Regex 类将是多余的。 String.Replace()方法将完成这项工作:
letter = letter.Replace("Users ", "")
letter = letter.Replace("Mailboxes ", "")

第二部分是仅用于查找的 Perl。它返回 true如果找到 findregex 字符串并保持实际字符串本身不变。
$stringvar =~ /findregex/;
String.Contains()可以在.NET中处理这个:
if (!(storegroup.Contains("Recovery") _
or storegroup.Contains("Users U V W X Y Z") _
or storegroup.Contains("you get the idea"))) Then
...

关于.NET 等价于 Perl 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863479/

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