正则表达式问题

时间:2010-04-26 22:55:45

标签: regex

对于学术作业,我需要使用正则表达式来匹配具有以下规范的单词:

  • 字长> = 1且< = 8
  • 包含字母,数字和下划线
  • 第一个数字只能是一个字母
  • Word不是A,X,S,T或PC,SW

我试过这个正则表达式但是无法继续(我的大问题是让这个词不等于PC和SW)

([a-zA-Z&&[^AXST]])|([a-zA-Z][\w]{0,7})

但在之前的正则表达式中,我没有处理它不是PC和SW

谢谢,

3 个答案:

答案 0 :(得分:3)

(?:^|\s)(?!PC)(?!SW)(?!A|S|T|X)(\w{1,8})

Explain this?

强烈建议使用交互式正则表达式工具进行此类操作。我使用http://regex.powertoy.org/http://gskinner.com/RegExr/然后只是玩它们直到你得到它......

答案 1 :(得分:2)

使用否定前瞻(?!pattern)

^(?!(?:A|X|S|T|PC|SW)$)(?=[A-Za-z])(\w{1,8}$)

regular-expressions.info

答案 2 :(得分:0)

rubular也是一个非常好的交互式正则表达式工具。