正则表达式匹配第三个字符

时间:2017-10-18 11:37:42

标签: javascript regex

例如,这是我的字符串" RL5XYZ"我想检查第三个字符是5还是其他一些数字。 我想用正则表达式做这个,没有子串。

4 个答案:

答案 0 :(得分:0)

如果您正在尝试检查字符串的第三个字符是否为数字,则可以使用以下正则表达式:

/^..[0-9]/
  • ^表示匹配必须出现在字符串的开头
  • 。手段匹配任何角色(我们这样做两次)
  • [0-9]表示匹配0-9范围内的数字字符。您实际上可以将其调整为不同的范围。

您还可以使用以下符号缩小.

/^.{2}[0-9]/

大括号中的数字基本上意味着重复前一个算子两次。

您也可以将字符集[0-9]重写为\ d。

/^.{2}\d/

要在JS中匹配,请对您创建的模式执行简单的调用exec:

/ ^。{2} \ d / .exec('aa3')// => [“aa3”,索引:0,输入:“aa3”]    /^.{2}\d/.exec('aaa')// =>空

答案 1 :(得分:0)

如果它总是检查是否存在两个字符后跟一个5,然后是其他东西,那么你可以简单地检查

/..5*/

如果你想获得第三个字符(假设它总是一个数字)那么你可以使用。

/..(\d)*/

您将从regEx返回结果:

Match 1 Full match 0-3 `RL5` Group 1. 2-3 `5` Match 2 Full match 3-5 `XY`

答案 2 :(得分:-1)

var input = 'RL5XYZ';
var position = 3;
var match = '5';

position--;
var r = new RegExp('^[^\s\S]{'+position+'}'+match);

console.log(input.match(r));

位置以查看要查找的位置和匹配要查找的内容

编辑:我忘记了^

答案 3 :(得分:-1)

如果要检查第三个字符是否为数字,可以使用

.{2}\d.*

但是。匹配一切所以你可能更喜欢:

\w{2}\d\w*

\w{2}表示任意[a-zA-Z0-9_]两次。 \d表示任何数字 \w*表示任意[a-zA-Z0-9_]零次或多次