let reg = /[\\\\/:*?\"<>|]/img; // eslint-disable-line
let value = '你<<好>>\我/好*大*家|好';
// 使用 startsWith 检测字符是否以 . 开头
if(value.startsWith('.')) console.log('不能以 ‘.’ 字符开头!');
let aMatch = value.match(reg); // ['<', '<', '>', '>', '/', '*', '*', '|']
let aLimit = [...new Set(aMatch)]; // ['<', '>', '/', '*', '|']
console.log(`不能输入 ${aLimit .join(' ')} 特殊字符哦`); // 不能输入 < > / * | 特殊字符哦
windows、mac系统文件(夹)名称非法字符检测-正则表达式,不能包括:\/:*?"| 另外大小写不敏感不能含有 : 字符,另外不能以 ‘.’ 字符开头,大小写敏感 在检测到特殊字符后,需要将特殊字符及时展示出来,并且进行去重............
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_23994787/article/details/90903091
在
windows
系统当中的文件命名,有些
特殊字符
是不能存在,下面我们来看一下哪些字符不能存在。
文件名
称中不能包含 \ / : * ? " < ...
在系统中处理文件或者文件
夹
时,都需要对
正则表达式
有一定的理解。
正则表达式
是用来定义模式的字符,模式可以用来搜索文本文件或者列出文件和文件
夹
。
正则表达式
的各个部分有很多方法来进行区分,为了便于理解,我们将它分成较多的几个部分,使每个部分尽可能的简单。
正则表达式
有以下几个部分:
1)Characters and Groups
2)Anchors
3)Class/Range
4)Q...
被保留的设备名不能被用来作为
文件名
:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9,
LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9。这些保留设备名不能后跟一个扩展名
实验目的:实验1的目的主要是熟悉使用VSCode进行代码编写和调试,同时学习和实践
正则表达式
转换为NFA的原理和方法。
在实验1中,我们需要设计一个词法分析器,其中的第一步是将
正则表达式
转换为NFA(非确定有限状态自动机)。这是因为
正则表达式
是一种用于描述字符串模式的强大工具,而NFA则是用于模拟
正则表达式
的自动机。
我们通过使用VSCode进行实验,旨在熟悉使用这个集成开发环境的各种功能,如编辑、编译、调试等。VSCode是一款轻量级的代码编辑器,具有强大的功能和扩展性,广泛应用于开发各种编程语言的项目。
在实验中,我们将学习和使用
正则表达式
的语法规则,包括常见的元字符(如.、*、|等)、字符类和转义字符等。同时,我们还将了解
正则表达式
中的优先级和结合性规则,以便正确地转换为NFA。
在VSCode中,我们可以使用各种插件和工具来辅助编写和调试代码,如
正则表达式
编辑器、代码片段、调试器等。这些工具能够提高我们的工作效率,并帮助我们更好地理解和分析
正则表达式
和NFA的转换过程。
总之,通过这个实验,我们不仅可以熟悉VSCode的使用,还能够深入理解
正则表达式
和NFA的原理和应用。这将为我们后续的词法分析器设计和实现奠定基础,为我们更深入地学习编译原理和相关领域打下坚实的基础。