正则表达式匹配特定位置的字符

时间:2016-01-14 12:42:30

标签: regex

我需要提出一个正则表达式来查找给定文本的第9位上的字母A,F或E.我是regex的新手,做了一些搜索,无法找到任何类似的反应。到目前为止我所拥有的是:

/^.{9}A/

此命令似乎可以在空格9上找到字母A,但是如何将其他2个字母添加到正则表达式?

3 个答案:

答案 0 :(得分:17)

你说你正在寻找C,F或E,但在你的例子中寻找A,所以请在括号中加入你想要匹配的任何其他字母,但你要找的是:

/^.{8}[CFE]/

它应该是{8}而不是{9},因为你拥有它的方式,它会匹配前9个字符,然后匹配你位置10的字母。

答案 1 :(得分:3)

使用character class

/^.{9}[CFE]/
  • [CFE]匹配CFE
  • 一个

或使用|元字符(替换):

/^.{9}(?:C|F|E)/ 

答案 2 :(得分:0)

这种方式也可以解决问题

/^.{8}A|^.{8}F|^.{8}E/;

如果要匹配第9位的字符,则必须使用8而不是9