2013-04-10 71 views
-1

我需要验证在TCL的名称,也可以是:TCL的regexp名称验证

字母(大写和小写)

编号

任何这些符号: “_” 下划线 “ - ” 破折号 “/” 斜线

+3

你可以自己想出什么? – 2013-04-10 15:01:28

+0

Tcl中使用的正则表达式语法[广泛记录](http://www.tcl.tk/man/tcl8.6/TclCmd/re_syntax.htm)。不要错过[这个](http://whathaveyoutried.com)。 – kostix 2013-04-10 15:40:13

+0

呃,你知道有(电脑)语言来描述你做了什么吗?它被称为regexp。一些提示:所有较低字符:'[a-z]'。 – 2013-04-10 15:51:56

回答

2

我会用:

regexp {^[\w/-]+$} $string 
+2

你不需要逃避斜线。 – Loamhoof 2013-04-10 15:04:47

+0

哦,对,即使没有逃脱,它也能正常工作! – Jerry 2013-04-10 15:10:09

1
/^[\w-\/]+$/ 

\w是字母,数字和下划线。 Source

+0

在Tcl中不起作用('/'不是特殊字符)。阅读_whole_问题。 – 2013-04-11 14:14:21

+0

什么不行?使用'/'作为分隔符?这只是写一个正则表达式的一种方式。我希望OP能够做一点研究,至少知道他使用什么口味的分界符。对不起,如果我冒犯了你。不能帮助它,我是一个乐观主义者。 – Loamhoof 2013-04-11 15:03:57

2

而其他的答案就可以解决问题,这里的答案如何,你可以把它写自己:

  • 该字符串应该只包含定义的字符:
    整个字符串必须匹配,所以在开始处添加约束条件:^(开始标记字符串的开始)和$结束。

  • 该字符串应该包含一个或多个的一些字符:
    [a-z]+指一个或多个字符从A到Z的范围内(包括)。

  • 添加一些更多可能字符:^[a-zA-Z_0-9/-]+$
    (注意-是在结束,否则它定义的范围)

瞧。你的正则表达式。