我正在尝试创建一个匹配所有字母或空格或特定数字的正则表达式。
这就是我所拥有的。
([a-zA-Z\s24]*)
#but this is matching a 2 or a 4, i need exactly 24 only ex: - asdfafasf asfasdf #should match asdfafasf asfasdf - asdf asdf asdf 24 #should match asdf asdf asdf 24 - asdf24asdfasdf as #should match asdf24asdfasdf as - asdfadf2 asdf #should match asdfadf - asdfasdf kljl 6 #should match asdfasdf kljl
答案 0 :(得分:1)
您将一系列字符放入字符类中。字符类用于匹配字符类中定义的单个字符,因此,您所做的不起作用。
您需要使用分组构造,交替组和acc。对于预期的匹配,您只需要在字符串的开头匹配:
^(?:24|[a-zA-Z\s])+
请参阅regex demo
<强>详情
^
- 字符串开头(?:24|[a-zA-Z\s])+
- 一次或多次出现:
24
- 子字符串24
|
- 或[a-zA-Z\s]
- ASCII字母或空格答案 1 :(得分:0)
我想你想要:
([a-zA-Z\s]*|24)
然后你得到你的A-Z \ s组或24号。