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

标签 c# regex string split

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

“<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 等(您使用的是这一语言)

关于c# - 帮助制作一个好的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2168867/

相关文章:

c# - Sitecore 以编程方式添加布局。值不能为空。参数名称路径

c# - 正则表达式搜索单个 0 并添加逗号

c# - 如何使用 Microsoft Fakes 填充 DbContext?

c# - API请求WaitingForActivation "Not yet computed"错误

php - 如何通过php获取网页的Open Graph Protocol?

python 3 regex - 在字符串中查找所有重叠匹配项的开始和结束索引

javascript - 如何创建一个基于两个变量的条件字符串,而无需一堆 if else (JavaScript)

python - 在python中访问列表或字符串的非连续元素

java - 创建一个单独的对象并从 Java 中的对象引用编辑它

c# - Angular JS - UI 测试 Angular js 项目的最佳方式