我目前有这个正则表达式:
/^\+\(?([0-9]{1,4})\)?$/g
现在,我可以使用以下格式:
+31
+(31)
+(31
+31)
但是,我想修改它,所以只有两个括号它才能起作用,而不仅仅是一个。因此+(31
和+31)
将无法使用。我怎样设法得到它?
答案 0 :(得分:1)
创建一个替换组以匹配括号内的数字或没有括号:
^\+(?:\([0-9]{1,4}\)|[0-9]{1,4})$
请参阅regex demo
<强>详情:
^
- 字符串锚的开始\+
- 文字+
(?:\([0-9]{1,4}\)|[0-9]{1,4})
- 两种选择之一:
\([0-9]{1,4}\)
- 包含文字(
和)
|
- 或[0-9]{1,4}
- 1到4位$
- 字符串锚点结束