正则表达式的东西::某些东西不允许使用括号

时间:2015-01-26 09:42:13

标签: regex

我正在寻找一个只接受带有模式的字符串的正则表达式:

something1::something2::something3

something s可以是括号([])和空字符串之外的任何内容。

接受:

server_3::database_2::newtable

不接受:

 [server_3]::database_2::new table

2 个答案:

答案 0 :(得分:2)

使用否定字符类[^\[\]]匹配除方括号以外的任何内容,并使用+量词来匹配至少一个字符(也就是空字符串):

[^\[\]]+::[^\[\]]+::[^\[\]]+

答案 1 :(得分:0)

这只会匹配单词字符:

\w*::\w*::\w*
  

a-zA-Z_0-9除以::

这可能会更好:

[^\[\]]*::[^\[\]]*::[^\[\]]*

因为它应匹配任何字符,但[和],所以server_3()::database_2::newtable将传递