du5114 2017-08-29 09:21
浏览 439
已采纳

正则表达式匹配任何字母,空格或特定数字

I'm trying to create a regex to match all letters or spaces or specific number.

Here's what I have.

([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 

https://regex101.com/r/iNWuRb/1

  • 写回答

2条回答 默认 最新

  • duangou1868 2017-08-29 09:28
    关注

    You put a sequence of chars into a character class. A character class is meant to match a single char defined in the character class, thus, what you did can't work.

    You need to use a grouping construct, an alternation group, and acc. to the expected matches, you need to only match at the start of the string:

    ^(?:24|[a-zA-Z\s])+
    

    See the regex demo

    Details

    • ^ - start of string
    • (?:24|[a-zA-Z\s])+ - one or more occurrences of:
      • 24 - a substring 24
      • | - or
      • [a-zA-Z\s] - an ASCII letter or whitespace
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部