c# - 空字符串或 10 位数字的正则表达式

标签 c# regex

开始:我刚刚开始使用 Regexes,而且我真的很难理解它们是怎么回事。只是一个提醒。

对于一个项目,我正在尝试开发一个正则表达式,它采用 A) 空字符串(在 C# 中为“”),或 B) 十 (10) 个数字。我已经能够弄清楚如何完成 10 位数部分:

"^[0-9X]{10}$"

...但不是“空字符串或”部分。我想应该是这样的:

"^[]$|^[0-9X]{10}$"

显然这行不通,但我不知道如何写一些可以的东西,尽管关于这个问题的主题很多。

问题:

A) 什么是正则表达式,如果给定的字符串是一个字符串。空(而不是“”),或者恰好是 10 位数字?

B) 请解释它究竟是如何工作的。这并不是说我没有尝试学习(我确实发现 ^$ 是精确字符串匹配的 anchor ,而 | 是 OR 运算符。 ..),只是正则表达式对我来说显然不是天生的……但是,我处于必须使用它们的情况下。

最佳答案

(^$)|(^\d{10}$)

第一个选项匹配空字符串,第二个选项匹配10位数字。

我不知道你的 X 是做什么用的,除非你正在寻找一个十六进制字符串,如果是这种情况,你将需要执行以下操作:

(^$)|(^[0-9a-fA-FxX]{10}$)

关于c# - 空字符串或 10 位数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14464016/

相关文章:

python - 如何使用正则表达式过滤字符串模式以在文本行中匹配?

java - 正则表达式去除驱动器号

c# - 我需要一个正则表达式将美国电话号码转换为链接

c# - 资源文件本地化不起作用

c# - 代码在 visual studio 2012 中没有遇到断点

c# - 你知道 '@eax' 的托管等价物吗?

javascript - 数据表清除搜索输入和正则表达式

regex - 正则表达式引擎位于何处?

c# - 重命名数据表中的行

c# - 如何对 XSL 进行计算