例如,这是我的字符串" RL5XYZ"我想检查第三个字符是5还是其他一些数字。 我想用正则表达式做这个,没有子串。
答案 0 :(得分:0)
如果您正在尝试检查字符串的第三个字符是否为数字,则可以使用以下正则表达式:
/^..[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_]
零次或多次