我正在使用javaScript,我想限制字符串的第一个字符串。我有以下正则表达式,以避免整个字符串中的特殊字符。
/[^0-9_a-zA-Z\s]/g
var text = 'foo#'
var transformed = text.replace(/[^0-9_a-zA-Z%$#\s]/g, '');// 'foo'
但除此之外我不想在字符串的开头有任何数字,但是在字符串的其他位置是,那将是什么样的正则表达式?
var text = '1fo4565o'
var transformed = text.replace([?], '');// 'fo4565o'
答案 0 :(得分:1)
执行此类工作的一些有用网站是https://regex101.com/或http://www.regexr.com/,因为它们向您展示对目标文字的影响,准确地告诉您每个部分正在做什么,以及提供作弊 - 片材。
如果您只想替换第一个字符,请使用^字符将其锚定到开头。 \ d +是任何至少重复一次的数字字符。 |是匹配此组或下一组。 结合起来我们得到:
/^\d+|[^0-9_a-zA-Z%$#\s]/g
匹配在字符串开头至少重复一次的任何数字或任何不在此集合中的字符。