写个正则表达式:不以下划线开头结尾,可以有数字,字母,但不能全为数字
时间: 2024-01-03 08:03:25 浏览: 80
好的,以下是符合您要求的正则表达式:
```
^(?!_)\w*[a-zA-Z]\w*$
```
解释一下:
- `^`: 匹配字符串的开头
- `(?!_)`: 用于排除以下划线开头的情况
- `\w*`: 匹配任意个数字、字母或下划线
- `[a-zA-Z]`: 匹配一个字母
- `\w*`: 匹配任意个数字、字母或下划线
- `$`: 匹配字符串的结尾
因此,这个正则表达式可以匹配不以下划线开头结尾,可以有数字、字母,但不能全为数字的字符串。
相关问题
写一个正则表达式:校验最长14个英文或7个汉字, 不能纯数字
可以使用以下正则表达式进行校验:
```regex
^(?![0-9]+$)([\u4e00-\u9fa5]{1,7}|[a-zA-Z]{1,14})$
```
解释一下正则表达式的含义:
- `^` 表示字符串的开始
- `(?!...)` 是一个负向前瞻断言,表示后面不能匹配括号中的正则表达式
- `[0-9]+` 表示匹配一次或多次数字
- `[\u4e00-\u9fa5]{1,7}` 表示匹配1到7个汉字
- `[a-zA-Z]{1,14}` 表示匹配1到14个英文字母
- `|` 是或的意思,表示匹配前面或后面的表达式
- `$` 表示字符串的结束
综上所述,这个正则表达式可以校验字符串是否满足最长14个英文或7个汉字,并且不能是纯数字。
正则表达式: 空格开头,“号结尾,中间空格或大小写字母
可以使用如下的正则表达式匹配空格开头,“号结尾,中间空格或大小写字母的字符串:
```^\s*\"[a-zA-Z\s]*\"$```
解释一下这个正则表达式:
- ```^``` 表示字符串的开头
- ```\s*``` 表示匹配零个或多个空格
- ```\"``` 表示匹配双引号
- ```[a-zA-Z\s]*``` 表示匹配零个或多个大小写字母或空格
- ```\"``` 表示匹配双引号
- ```$``` 表示字符串的结尾
所以,这个正则表达式可以匹配类似于 ``` "Hello World" ```,``` "Abc def" ``` 这样的字符串。