正则表达式捕获命令

时间:2016-07-15 15:07:56

标签: regex regular-language

如何创建与clear abc匹配的正则表达式,然后捕获可能不同的abc

命令clear将始终相同,字符串的结构始终为clear ?,其中?可能会有所不同。

我想它类似于/^clear \w$/,其中^确保字符串以clear开头。但我想确保它只匹配包含两个单词的内容,其中第一个单词是clear,因此它不匹配,例如clear ab cd efclear之后的单词可以是1个字符和多个字符,但它永远不能以数字开头。

修改

从答案中,我得到了正则表达式/^clear [a-zA-Z]\w*$/

如果清除后的变量可以是aab,还有f(x, y),该怎么办?那么它只是/^clear [a-zA-Z][0-9a-zA-Z() ]*$/,所以它也接受()和空格()?

如果它具有设计f(...),如果它包含括号,那么它可以更健壮吗,所以我不会最终匹配例如f)dsada

1 个答案:

答案 0 :(得分:2)

  

clear之后的单词可以是1个字符和多个字符,但它永远不能以数字开头。

您可以使用此正则表达式:

/^clear [a-zA-Z]\w*$/
  • [a-zA-Z]确保以字母开头
  • \w*之后将匹配第一个字母后的0个或多个单词字符

如果POSIX个字符类可用,请使用:

/^clear [[:alpha:]][[:alnum:]_]*$/