如何创建与clear abc
匹配的正则表达式,然后捕获可能不同的abc
?
命令clear
将始终相同,字符串的结构始终为clear ?
,其中?
可能会有所不同。
我想它类似于/^clear \w$/
,其中^
确保字符串以clear
开头。但我想确保它只匹配包含两个单词的内容,其中第一个单词是clear
,因此它不匹配,例如clear ab cd ef
。 clear
之后的单词可以是1个字符和多个字符,但它永远不能以数字开头。
从答案中,我得到了正则表达式/^clear [a-zA-Z]\w*$/
。
如果清除后的变量可以是a
和ab
,还有f(x, y)
,该怎么办?那么它只是/^clear [a-zA-Z][0-9a-zA-Z() ]*$/
,所以它也接受(
,)
和空格()?
如果它具有设计f(...)
,如果它包含括号,那么它可以更健壮吗,所以我不会最终匹配例如f)dsada
?
答案 0 :(得分:2)
clear之后的单词可以是1个字符和多个字符,但它永远不能以数字开头。
您可以使用此正则表达式:
/^clear [a-zA-Z]\w*$/
[a-zA-Z]
确保以字母开头\w*
之后将匹配第一个字母后的0个或多个单词字符如果POSIX
个字符类可用,请使用:
/^clear [[:alpha:]][[:alnum:]_]*$/