Java:验证某个字符串模式

时间:2012-04-17 06:56:33

标签: java regex

我正在尝试以“迭代方式”验证字符串,而我的所有试用版都失败了! 我发现它有点复杂,我猜你也许可以教我如何正确行事。 我假设你们大多数人都会建议我使用正则表达式模式,但我真的不知道如何,并且一般来说,如何为无限“集合”定义正则表达式?

我要验证的字符串是 “任何| NUMBER_ONLY,什么都| NUMBER_ONLY ...”

例如:“hello | 5,word | 10”和“hello | 5,word | 10”都有效。

注意:我不介意字符串是否以逗号','结尾。

2 个答案:

答案 0 :(得分:1)

我建议用|分隔符将字符串拆分为数组。并分别验证每个部分。每个部分(第一个除外)应与以下模式\d+(,.*)?

匹配

<强>已更新

,拆分,并使用.*|\d+

验证每个部分

答案 1 :(得分:1)

Kleene star*)允许您在正则表达式中定义“无限集”。以下模式应该可以解决问题:

[^,|]+\|\d+(,[^,|]+\|\d+)*,?
A----------B--------------C-

A部分匹配第一个元素。 B部分匹配以下任何元素(注意星形)。 C部分是最后的可选逗号。

警告:请记住在Java字符串中转义反斜杠。