匹配n位数字的正则表达式

22

有人能告诉我匹配以下内容的正则表达式是什么吗: 有 n 位数字,其中 n 是提供的数字或为 ()


你尝试过什么?我不理解你问题中的 or '(' or ')' 部分。 - Abe Miessler
那么它应该匹配一个n位数字或'('或')'吗?这似乎很简单,可以通过阅读有关正则表达式的内容解决:http://www.regular-expressions.info - Felix Kling
这里的 n 是指小数点后的位数/括号内的字符数(括号也算在内),还是指忽略嵌套括号后的数字位数?建议提供一些应该匹配和不应该匹配的字符串示例。 - Richard
2
请尽量澄清你的问题!它很难理解! - webbi
@Webbi,Polynomial和Rynkadink没有任何问题,并回答了这个问题。 - smallB
不重要,因为你的问题可能有很多不同的情况,如果你在寻求帮助,尽量清晰明了。这只是我的个人意见。 - webbi
3个回答

26

简单:

\(|\)|\d{n}

n替换为您需要的数字位数。如果您需要匹配完整字符串,则在表达式周围放括号,并在表达式前加上^并在末尾添加$


这个匹配括号字符: - Paul Razvan Berg
根据问题,是的。 - Joey
哦,我错过了。 - Paul Razvan Berg

19
这应该可以工作:[0-9\(\)]+

1

我相信这对你有用。它可以匹配包含n个数字或类似"("或")"的字符串。例如:当n=2时,它可以匹配像"12"、"22"等字符串。

^([0-9]{n})$|^([()]{1})$

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接