3

有没有办法简化这样的表达式

([0-9]||[A-Z])([0-9]||[A-Z])([0-9]||[A-Z])([0-9]||[A-Z])([0-9]||[A-Z])([0-9]||[A-Z])

类似于{([0-9]||[A-Z]) = B } BBBBBBWhere B 表示子表达式的重复。

我正在使用 LabVIEW 进行编码,但我对独立于语言的解决方案感兴趣。

4

3 回答 3

4

当然,您可以:

([0-9]||[A-Z]){6}

6 是指您将接受的项目数量。你也可以:

([0-9]||[A-Z]){3,6}

这意味着接受其中的 3 到 6 个...

于 2012-10-09T15:56:11.047 回答
3

试试这个: ([0-9]||[A-Z]){6}

您可以使用{x}来指定您希望它显示的次数。 {6}表示模式 6 次。您可以使用{1,6}表示 1、2、3、4、5、6 次。

如果我使用正则表达式,我喜欢在办公桌旁边打印的一件事是:

正则表达式备忘单

它在语法等方面为我节省了很多次。

于 2012-10-09T15:56:04.667 回答
2

您可以使用.*+或量词指定特定正则表达式模式重复的次数?{}

.->match only 1 time
*->0 to many times
+->1 to many times
?->0 or 1 time
{}->Exact matches..For example:{1}->1 times {1,8}->1 to 8 times

在你的情况下,它应该是

([0-9]||[A-Z]){6}

注意(如果您想要完全重复)

如果您想捕获相同的模式..那么您将不得不使用对先前捕获的组的引用

所以,

使用下面的正则表达式

(hello) \1

你可以匹配hello hello

因此,在您的情况下,如果您希望确切的副本重复 6 次,您可以这样做

([0-9]||[A-Z])\1{5}
于 2012-10-09T16:11:01.803 回答