以下规则适用于我需要测试的字符串:
^[a-z]+[\w]*[a-z0-9]$/gi
是我得到的最接近的,但它与包含单个字母的字符串不匹配。
应该匹配的示例:
不应匹配的示例:
^[a-z]+[\w]*[a-z0-9]*$/gi
也允许字符串以_
答案 0 :(得分:2)
您可以使用可选组:
/^[a-z]+(?:\w*[a-z0-9])?$/i
详细
^
- 字符串开头[a-z]+
- 一个或多个字母(?:\w*[a-z0-9])?
- 一次或零次出现
\w*
- 0个或更多单词字符[a-z0-9]
- 一个字母数字字符$
- 字符串结束。答案 1 :(得分:1)
正则表达式交替组的另一种方式:
^([a-z]+[\w]*[a-z0-9]|[a-z]+)$