Stata正则表达式中的元字符（三）之前两篇推文，我们一共介绍了
Stata
正则表达式中的八个元字符，这篇推文就来介绍最后四个元字符。这四个元字符能够帮助我们大大缩短命令的长度：
元字符
描述
*
表示将前一个字符或子表达式匹配任意次数，可以为
0
次。例如：“
XY
*
”可以匹配“
X
”，也可以匹配“
XY
”、“
XYY
”、“
XY
……
Y
”等。
+
表示将前一个字符或子表达式匹配一次或多次，至少匹配
1
次。例如：“
XY+
”可以匹配“
XY
”、“
XYY
”、“
XY
……
Y
”，但是不能匹配“
X
”。
?
表示将前一个字符或子表达式匹配
0
次或
1
次。例如：“
XY?
”可以匹配“
X
”或“
XY
”。
{n}
n
为一个非负整数，表示将前一个字符或子表达式匹配确定的
n
次。例如：“
XY{2}
”匹配“
XYY
”。注意：这个只能用于
Stata14
中以
ustr
开头的正则表达式的字符串函数中。
我们首先看上一篇推文的那个例子，用这次的几个元字符，能够怎么简化上一篇推文的命令。
gen zip =ustrregexs(1) if ustrregexm(contact