帮助制作一个好的正则表达式?

Sve*_*rle 1 c# regex string split

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

"<2342Flsdn3Z> <9124Fsflj20>"

一切都以"<"开头,6个字符是"F",字符串以">"结尾是否可以制作一个可以找到"字符串"的正则表达式?

Ahm*_*eed 5

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

它匹配开头<,然后是任何4个字符,F,然后是任何直到结束>(通过匹配任何不是a >).

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

编辑:制作一个好的正则表达式的一部分是明确指定你想要匹配的模式.例如,你提出问题的方式会留下一些细节.只要F在你指定的位置,我就用我的模式回复以匹配任何角色.

为了更好的正则表达式,你可以告诉我们许多事情:

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