开始:我刚刚开始使用 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/