有没有办法根据正则表达式字符串返回特定位置的字符类型?
举例:
在正则表达式中:[0-9]{2}/[A-Z]{2}/[0-9]{4}
总共有 10 个字符。
位置 1 应返回“数字”
位置 4 应返回“字母”
位置 3 或 6 应返回“符号”
如果该字符是一个符号,我也需要知道它是什么符号。
任何人都可以为我指明执行此操作的方向吗?
最佳答案
With the logic of your question, I just want to check if the character is contained in one of these groups: number (
0-9
), letter (A-Z
ora-z
) orsymbol
..
您可以考虑使用Character Class ,添加 \W
来匹配任何非字母、数字或下划线的内容,并且由于 _
被视为单词字符,因此您还需要包含它。
^[0-9]{2}[\W_][a-zA-Z]{2}[\W_][0-9]{4}$
<小时/>
I need to know what symbol it is too..
在这种情况下,如果您想查看匹配的符号,您可以将捕获组 ( )
放置在正则表达式中符号所在的位置。
示例:
var str = '77$ba!1234';
res = str.match(/^[0-9]{2}([\W_])[a-zA-Z]{2}([\W_])[0-9]{4}$/);
console.log(res[1] + ', ' + res[2]); //=> "$, !"
关于javascript - 在正则表达式的特定位置查找字符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23918643/