字符串的正则表达式,如'stringList [3]'

时间:2011-12-18 14:41:06

标签: java regex collections

我不是常客,但我手头有任务,我认为表达方式可能很方便。我想检查像'stringList [0]','stringList [2]'这样的字符串是否符合模式,也就是说我试图弄清楚字符串是否是集合元素的文本表示。这种模式会是什么样的?我将使用java作为主要工具。非常感谢你。

2 个答案:

答案 0 :(得分:2)

"stringList\\[(\\d+)\\]"

将匹配“stringList [a number]”

"([a-zA-Z]+)\\[(\\d+)\\]"

将匹配任何大写/小写字符序列,后跟“[数字]” 合法的java类/字段名称可能包含数字(不是第一个字符)和下划线(也许还有更多我想不到的东西?),所以你需要一些更复杂的第一个块,但你可以probbaly谷歌用于合法java类/字段名称的“完整”表达式

答案 1 :(得分:2)

要匹配'stringList [0]',您可以使用

"stringList\\[\\d+\\]"

匹配stringList,后跟[和至少一个数字后跟]

编辑:

匹配澄清的内容

"[\\p{L}_$][\\p{L}\\p{N}_$]*\\[\\d+\\]"

我认为匹配任何有效的标识符。从任何字母,_或$开始,然后是一个或多个字母,数字,_或$后跟[,然后是1位或更多位数,然后是另一位数字。