typescript正则匹配除了想定字符之外的字符
在TypeScript或JavaScript中,我们可以使用正则表达式来匹配除了预期之外的字符。这可以通过一个负向字符集来实现。
解法1:使用[^...]定义一个否定的字符集。
let str = "abc123";
let regExp = /[^0-9]/; // 匹配除了数字以外的任意字符
console.log(str.match(regExp)); // 输出:"abc"
解法2:使用[^...]定义一个否定的字符集,并使用量词?来使匹配为非贪婪匹配。
let str = "abc123";
let regExp = /[^0-9]+?/; // 匹配除了数字以外的字符,量词?使其为非贪婪匹配
console.log(str.match(regExp)); // 输出:undefined
解法3:使用(?!...)负向前瞻断言。
let str = "abc123";
let regExp = /.*(?!123)/; // 匹配不以"123"结尾的所有字符
console.log(str.match(regExp)); // 输出:"abc"
解法4:使用(?!...)负向前瞻断言,并使用量词?来使匹配为非贪婪匹配。
let str = "abc123";
let regExp = /.*?(?!123)/; // 匹配不以"123"结尾的字符,量词?使其为非贪婪匹配
console.log(str.match(regExp)); // 输出:undefined
以上就是在TypeScript或JavaScript中使用正则表达式来匹配除了预期之外的字符的几种方法。
评论已关闭