是否可以从导致与正则表达式不匹配的字符串(其索引)中输出第一个字符?是否可以仅使用正则表达式匹配操作或必须使用更复杂的操作?
例如,在 JavaScript 中,我可能有一个/^\d{3}\s\d{2}$/
匹配字符串的正则表达式,其中包含 3 位数字,后跟一个空格和另外 2 位数字。我有一个字符串"123a45"
,我应用了这个正则表达式。由于正则表达式不匹配,因此执行此操作(例如"123a45".match(/^\d{3}\s\d{2}$/)
)会返回。null
如何获取导致这种不匹配的第一个字符(在本例"a"
中为索引为 3 的字符)?
一个用例可能是将用户直接指向导致用户输入的字符串根据用于其验证的某些正则表达式无效的字符。