正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
#1. 匹配字母(大写/小写)和数字的字符
正则表达式: [^a-zA-Z0-9]
#2. 使用正则表达式,将给定的字符串进行处理,只保留字母和数字:
我们需要将非字母和数字进行替换空替换,即需要匹配非字母和数字,
正则表达式为: [^a-zA-Z0-9]
/**
* 删除特殊字符并仅显示字母数字字符:
* 没有破折号,没有散列,没有崩溃或斜线,没有空格,等等
*
* @return 字符串只有字母数字字符
*/
fun (): String = ("[^a-zA-Z0-9]*".toRegex(), "")
#3. 添加单元测试:
@Test
fun formatToAlphanumericTest() {
val expectedString = "33K212A"
val stringWithDash = "33K-21-2A"
val stringWithSpace = "33-K21 2A "
assertEquals(expectedString, ())
assertEquals(expectedString, ())
}
#4.正则表达式 - 限制 8 个,最多 15 个,同时包含 @、&、$、^、大写字母、小写字母和数字:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@&$^]).{8,15}$