首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解 ES 2018 新特性~

这些特点如下: s (dotAll) 标志 命名捕获组 Lookbehind 后行断言 Unicode属性转义 s (dotAll) 标志 点(.)是正则表达式模式中一个特殊字符,它匹配除换行符(如换行符...因此,使用点字符现有正则表达式模式不受影响。 命名捕获组 在一些正则表达式模式中,使用数字进行匹配可能令人混淆。例如,使用正则表达式/(\d{4})-(\d{2})-(\d{2})/来匹配日期。...(函数):修改字符串变量部分。...因此,像“C:\xxx\uuu”或“\ubuntu”这样字符串被解释器认为是无效转义序列,并且抛出一个SyntaxError。...→ undefined } const str = 'escape sequences:'; const result = fn${str} \ubuntu C:\xxx\uuu; 注意,在常规模板文字中使用非法转义序列仍然导致错误

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

【Python基础】Python3十大经典错误及解决办法

当一个字符串包含单引号或双引号时,很容易出现引号不配对情况。...当代码是从其它地方复制并粘贴过来时候,这个错误较多见。 三、 NameError 名字错误 当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。...解决方法: 正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。...七、 UNboundLocalError 初始化本地变量错误 在函数中,如果对未声明全局变量进行修改操作,将会遇到这个错误。...9# Python将变量s视为一个本地局部变量,但该变量初始化。 解决方法: 在函数内使用全局变量时,使用global关键字对其进行声明即可。

1.7K30

正则表达式在 ES2018 中新写法

2020 6console.log(match.groups.month); // → 03 7console.log(match.groups.day); // → 04 因为生成对象可能包含与命名组同名属性...因为改变速记字符类行为破坏现有的正则表达式模式,所以决定引入一种新类型转义序列。 在ES2018中,当设置 u 标志时,Unicode属性转义(由 \p{...} 表示)在正则表达式中可用。...github.io/proposal-regexp-unicode-property-escapes/#sec-static-semantics-unicodematchproperty-p】 请注意,使用不受支持属性导致...与常规捕获组相比,命名捕获组使用了更具表现力语法。 s (dotAll) flag 通过更改点(.)元字符行为来匹配换行符。...一个好测试器提供一个接口来对字符串正则表达式进行测试,并显示引擎所做每一步,这在你理解其他人编写表达式时非常有帮助。它还可以检测正则表达式中可能出现语法错误。

94720

你一定遇到过Python中无效语法:SyntaxError---常见原因以及解决办法

在这种情况下,SyntaxError消息非常有用。它告诉你不能给函数调用赋值。 第二个和第三个示例尝试将字符串和整数分配给文字。同样规则也适用于其他文字值。...现在,如果您尝试使用await作为变量名或函数名,如果您代码是Python 3.7或更高版本,那么这将导致SyntaxError。...要解决这个问题,您可以进行以下两种更改之一: 用反斜杠转义单引号('don\t') 将整个字符串用双引号括起来(“don't”) 另一个常见错误是忘记关闭字符串。...SyntaxError消息“在扫描字符串文字EOL”更具体一些,有助于确定问题。这意味着Python解释器在一个开放字符串关闭之前到达该行(EOL)末尾。...SyntaxError另一种类型是TabError,只要有一行包含制表符或空格作为缩进,而文件其余部分包含制表符或空格,就会看到TabError。这可能隐藏起来,直到Python指出来!

25.3K20

红宝书 📒 5.2 基本引用类型- RegExp

正则其实很常用,比如我们路由是怎么去相应匹配页面、在一段文字中提取我想要文字等等都需要去使用正则。...匹配模式标记 g :全局模式,表示查找字符全部内容 i :不区分大小写,表示查找匹配时忽略pattern和字符串大小写 m :多行模式,表示查找到一行文本末尾继续查找 y :粘附模式,表示只查找从...如\n匹配换行符 ^ 匹配输入字符串开始位置 $ 匹配输入字符串结束位置 * 匹配前面的子表达式0次或多次 + 匹配前面的子表达式1次或多次 ?匹配前面的子表达式0次或1次 ....匹配换行符之外任何单个字符 x|y 匹配x或y [xyz] 匹配所包含任意一个字符 [^xyz] 匹配包含任意一个字符 [a-z] 匹配a-z任意一个小写字母 \d 匹配一个数字字符 等价于...input 缩写 $_ 最后搜索字符串 lastMatch 缩写 $& 最后匹配文本 lastParen 缩写 $+ 最后匹配捕获组 leftContext 缩写 $`

39450

Python基础-2 数字、字符串和列表

存放过程叫给变量赋值,通过=号进行。 后面我们可以用变量进行计算,操作变量就能操作数据: >>> width * height 900 相当于20 * 5*9。...如果变量没有赋值,不知道它是多少,自然不能使用。...字符串 除了数字,Python还可以操作文字。在Python中称为字符串,形式上使用单引号’’,或双引号""括起来,这两种写法没什么区别。...>>> print('C:\some\name') # \n变成转义字符换行 C:\some ame >>> print(r'C:\some\name') #使用原始字符串,内容不变。...C:\some\name 字符串字面值可以包含多行。一种实现方式是使用三重引号:"""..."""或'''...'''。字符串中将自动包括行结束符,但也可以在换行地方添加一个\来避免此情况。

2.3K20

正则零宽导致iOS端uni-app报错:连接服务器超时,点击重试

SyntaxError: Invalid regular expression: invalid group specifier name 原因: iOS 不支持零宽断言,如果正则表达式中包含零宽断言.../g, '*') 解决: 不使用零宽断言,可以使用截取&拼接字符串方式,如果实现比较复杂效果可以自己封装一个方法。 例如:我要截取银行卡后四位,前面加星号。...先行:正则引擎在扫描字符时候,从左往右扫描,匹配扫描指针扫描过字符,先于指针,故称先行。 后行:匹配指针已扫描过字符,后于指针到达该字符,故称后行,即产生回溯。 正向:即匹配括号中表达式。...,匹配其时需要转义 (?...正则零宽导致iOS端uni-app报错:连接服务器超时,点击重试

92871

【Python基础】Python3十大经典错误及解决办法

当一个字符串包含单引号或双引号时,很容易出现引号不配对情况。  ...当代码是从其它地方复制并粘贴过来时候,这个错误较多见。  三、 NameError 名字错误  当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。  ...解决方法:正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。  ...七、 UNboundLocalError 初始化本地变量错误  在函数中,如果对未声明全局变量进行修改操作,将会遇到这个错误。  ...9# Python将变量s视为一个本地局部变量,但该变量初始化。  解决方法:在函数内使用全局变量时,使用global关键字对其进行声明即可。

2.1K30

Python入门基本语法

Python保留字 下面的列表显示了python保留字。这些保留字不能用作常数或变量名,或者其他标识符名称,其中python关键字只包含小写字母。...) #打印字符串 多行注释用(’’’str’’’),具体如下: ''' str='hello world' #给变量赋值 print(str) #打印字符串 ''' Python中引号用法    ...^ SyntaxError: invalid syntax 加入转义字符后程序如下: str2="I really like \"python\"!".../pythonz/z.py hello world leigou 如果你用三个引号,那么实际上就相当于“hello\nworld\nleigou”(注意\n为换行符),所以当你字符串中有很多\n时,但是你又不想在字符串中用...注:在此处要特别注意三引号里面的字符串赋值变量,否则系统默认为三引号里面的字符串为多行注释。

50020

【JS】380- JavaScript 正则新特性

如果找到匹配项,则 exec() 返回一个数组,其第一个元素是匹配字符串。数组中 index 属性值是匹配字符串索引, input 属性值是搜索执行整个字符串。...假设以欧元为单位检索产品价格而不匹配欧元符号。使用后行断言变得很简单: const re = /(?<=€)d+(.d*)?...因为改变字符组行为破坏现有的正则表达式表现,所以引入一种新转义序列。 在 ES2018 中,当设置 u 修饰符时, p{...}可以匹配 Unicode 字符。...中使用不支持属性导致 SyntaxError: console.log(/p{undefined}/u.test('漢')); // → SyntaxError 兼容性 ?...与常规捕获组相比,具名组匹配使用更具表现力语法。 s( dotAll)修饰符改变 .元字符表现,匹配换行符。最后,Unicode 属性类提供了一种新转义序列。

1K20

javaScript代码飘红报错看不懂?读完这篇文章再试试!

] 范围;界限;区间; 类; 种; token [ˈtəʊkən] 令牌;标记 try [traɪ] 尝试 throw [θrəʊ] 投;掷;抛;扔;摔;丢;猛推;使劲撞 Uncaught 捕获...// 1、变量未定义便直接使用 console.log(my); // 报错:Uncaught ReferenceError: my is not defined // 翻译:my未定义 // 2、将变量赋值给一个无法被赋值东东...错误之前代码执行,之后代码不会执行。 // 1、变量不是预期类型,比如对字符串、布尔值、数值等原始类型值使用new命令。.../ 翻译:定义变量标记无效 // 3、对象属性赋值语法错误 const obj = { userName = "zhangpeiyue" } // 报错:Uncaught SyntaxError...•使用try包裹代码,即使不出错,效率也比不用try包裹代码低。•在try中,尽量少包含可能出错代码。•无法提前预知错误类型错误,必须用try catch捕获。•finally可以省略。

5.4K20

正则表达式详解

修正符中空格和换行被忽略,其它字符导致错误。 i (PCRE_CASELESS)   如果设定此修正符,模式中字符将同时匹配大小写字母。...m(PCRE_MULTILINE)   默认情况下,PCRE 将目标字符串作为单一一“行”字符所组成(甚至其中包含换行符也是如此)。...x(PCRE_EXTENDED)   如果设定了此修正符,模式中空白字符除了被转义或在字符类中以外完全被忽略,在转义字符类之外 # 以及下一个换行符之间所有字符,包括两头,也都被忽略。...匹配所包含任意一个字符。例如, '[abc]' 可以匹配 "plain" 中 'a'。 [^xyz] 负值字符集合。匹配包含任意字符。...PERL兼容正则中可能使用修正符(修正符中空格和换行被忽略,其它字符导致错误): i (PCRE_CASELESS): 匹配时忽略大小写。

1.2K10

Python 中正则表达式全部用法速查

捕获组合数量groupindex命名捕获字典,如果没有命名捕获组则字典为空pattern编译对象原始样式字符串 模块顶级方法   顶级函数允许同时传入正则表达式和要匹配字符串,返回值和re.compile...(g),允许更方便引用一个匹配groups(分组匹配到内容默认值=None)返回一个元组,其中包含所有子组字符串,从1开始所有子组groupdict(分组匹配到内容默认值=None)返回一个包含所有的命名子组字典...也就是说,\n 被转换为单个换行符,\r 被转换为回车符,依此类推。 诸如 \& 之类未知转义是孤立 # 后向引用,例如 \6,被替换为正则中相应组匹配字符串。...match()只匹配字符串开始,但使用 search()和以 '^' 开始正则表达式匹配每行开始  贪婪与非贪婪  正则默认是贪婪模式(匹配为尽可能 少 文字):  s = '<head...  非贪婪:匹配为尽可能少文字  *?

1.1K30

第五节(信息读写基础)

你可能不会经常用到这些标点符号,如果在使用时忘记这些转义序列,编译器不会报错,但是导致和预期不符输出。...在格式字符串中,除转义序列和转换说明以外内容都是字面量文本。 printf()函数原样打印字面量文本(包括其中所有的空格)。 如何打印多个变量值?...格式字符串中转换说明位置决定了输出位置。 如果传递给printf()函数变量比转换说明多,那么匹配变量将无法打印出来。 如果转换说明比变量多,那么匹配转换说明将打印出“垃圾值”。...如果要使用puts(),必须在程序中包含标准输入/输出头文件(stdio.h )。 puts()函数会在待打印字符串末尾添加一个换行符。 格式字符串中可包含转义序列,上面表列出了最常用转义序列。...如果这样做导致出乎意料结果。目前只需记住,如果遗漏了取址运算符,scanf()就会把输入信息放到内存中其他地方,而不是变量中。这将导致计算机被锁死,你必须重启计算机。

15620

你应该知道7 个 JavaScript 原生错误类型

接下来,尝试将数组扩展为包含 90**99 == 2.9512665430652753e+193 个元素。 这个数字超出了数组大小可以增长范围。...当在记录中找到环境值并提取并返回值时,将以该变量名称作为关键字在环境记录进行搜索。调用尚未定义函数。 现在,当我们创建或定义一个没有赋值变量时。...,将在环境记录中搜索该变量,当发现它未定义值时,该赋值将被覆盖。...can't find it 注意:未定义变量不会抛出 ReferenceError,因为它在于环境记录中值尚未设置。 3. SyntaxError 这是最常见错误。...当我们输入 JS 引擎不能理解代码时,就会发生这个错误。 JS 引擎在解析期间捕获了这个错误。在 JS 引擎中,我们代码经历了不同阶段,然后才能在终端上看到结果。

2.6K20

正则表达式基本语法

\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。^匹配输入字符串开始位置。...匹配包含任何字符。。[a-z]字符范围。匹配指定范围内任何字符。。[^a-z]反向范围字符。匹配不在指定范围内任何字符。。\b匹配一个字边界,即字与空格间位置。。\B非字边界匹配。...\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。 ^ 匹配输入字符串开始位置。...匹配包含任何字符。。 [a-z] 字符范围。匹配指定范围内任何字符。。 [^a-z] 反向范围字符。匹配不在指定范围内任何字符。。 \b 匹配一个字边界,即字与空格间位置。。...匹配包含任何字符。。 [a-z] 字符范围。匹配指定范围内任何字符。。 [^a-z] 反向范围字符。匹配不在指定范围内任何字符。。 \b 匹配一个字边界,即字与空格间位置。。

93470

Julia(字符串

\n" 这更易读和方便,并且等效于上述字符串连接-系统将这个明显单个字符串文字重写为带变量字符串文字串联。 后面最短完整表达式$作为其值要插入到字符串表达式。..."""hello""" 相当于 """ hello""" 但 """ hello""" 开头将包含文字换行符。尾随空格保持不变。它们可以包含"符号而不能转义。三引号字符串也被缩进最小缩进行水平。...要在字符串包含CR,请使用显式转义\r; 例如,您可以输入文字字符串"a CRLF line ending\r\n"。...还支持形式为三引号正则表达式字符串(对于包含引号或换行符正则表达式,可能很方便)。 字节数组文字 另一个有用非标准字符串文字是字节数组字符串文字:b"..."。...原始字符串文字 没有插值或转义原始字符串可以用形式为非标准字符串文字表示raw"..."。原始字符串文字创建普通String对象,这些对象包含内含内容与输入内容完全相同,没有内插或转义

3.9K10
领券