Skip to main content
 首页 » 编程设计

c#之帮助制作一个好的正则表达式

2024年01月29日2798°冷暖

任何人都可以帮我制作一个正则表达式或给我一个可以拆分/检查以下字符串的好解决方案:

“<2342Flsdn3Z><9124Fsflj20>”

一切都以“<”开头,第 6 个字符是“F”,字符串以“>”结尾 是否有可能制作一个可以找到这样的“字符串”的正则表达式?

请您参考如下方法:

这个怎么样:<.{4}F[^>]+>

匹配开头< ,后跟任意 4 个字符,F,然后是任何字符,直到结束 > (通过匹配任何不是 > 的东西)。

string input = "<2342Flsdn3Z><9124Fsflj20>"; 
string pattern = "<.{4}F[^>]+>"; 
foreach (Match m in Regex.Matches(input, pattern)) 
{ 
    Console.WriteLine(m.Value); 
} 

编辑:制作好的正则表达式的一部分是清楚地指定您要匹配的模式。例如,您对问题的措辞方式遗漏了某些细节。只要 F 在您指定的位置,我就会用我的模式来匹配任何字符。

要获得更好的正则表达式,您可以告诉我们一些事情:

  • F 之前的字符将始终为数字且长度为 4:\d{4}或 [0-9]{4}
  • F 之后的字符长度为 X(6?)并且只能是数字和字母:[\dA-Z]{6}
  • 不区分大小写:使用 RegexOptions.IgnoreCase (.NET) 或使用 [a-zA-Z]
  • 陈述你的意图:你匹配它吗?试图提取内在值(value)? split 是什么意思? split 什么?
  • 指定您使用的语言:C#、Python、Perl 等(您使用的是这一语言)