x=TEST_DATA_12345678_TST_87456321
下面的代码(代码A)产生正确的输出(匹配)
if [[ $x == TEST_[A-Z][A-Z][A-Z][A-Z]_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[A-Z][A-Z][A-Z]_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "match"; else echo "non match"; fi
但是,下面的代码(代码B)产生错误的输出(不匹配)
if [[ $x == TEST_[A-Z]{4}_[0-9]{8}_[A-Z]{3}_[0-9]{8} ]]; then echo "match"; else echo "non match"; fi
要检查if-语句中的regex,需要使用=~
而不是==
;
#!/bin/bash
x=TEST_DATA_12345678_TST_87456321
if [[ $x =~ TEST_[A-Z][A-Z][A-Z][A-Z]_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[A-Z][A-Z][A-Z]_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "match"; else echo "non match"; fi
if [[ $x =~ TEST_[A-Z]{4}_[0-9]{8}_[A-Z]{3}_[0-9]{8} ]]; then echo "match"; else echo "non match"; fi
两者都将符合预期。
在网上试试!
如何检查字符串是否与此模式匹配? 大写字母,数字,大写字母,数字。。。 例如,这些将匹配: 这些不会(“^”表示问题)
被遗忘的姓名列表 看了一些从来没接触过吉里吉里的朋友使用NVL写的游戏,发觉这个功能竟然很少有人使用。 很多人会一次次地使用类似 【姓名栏】 名字=XXX 颜色=XXX 这样的指令来输入对话人的名字和对应的颜色。 这样做有什么错误呢,其实完全没错,就是……写上几百个难道不觉得烦么……= = 其实NVL提供了简化功能,那就是姓名编辑。 只要设置一次名字和颜色,之后就可以直接从下拉菜单里选择这个名字,
模式匹配与匿名函数 上一章总结了模式在 Scala 中的几种用法,最后提到了匿名函数。 这一章,我们具体的去学习如何在匿名函数中使用模式。 如果你参与过 Coursera 上的 那门 Scala 课程 , 或者写过 Scala 代码,那很可能你已经熟悉匿名函数。 比如说,将一组歌名转换成小写格式,你可能会定义一个匿名函数传递给 map 方法: val songTitles = List("The
通配符 # glob_asterisk.py import glob for name in sorted(glob.glob('dir/*')): print(name) # glob_subdir.py import glob print('Named explicitly:') for name in sorted(glob.glob('dir/subdir/*')):
我想将此现有代码转换为使用模式匹配: 如何编写带有模式匹配的实例检查,以及如何同时测试多种可能的类型,如?
问题内容: 首次浏览Web应用程序时(通常在禁用缓存的浏览器中),我收到此错误。 错误:匿名define()模块不匹配:函数(要求){ HTML : JS : 谁能确切知道此错误的含义以及发生的原因? 问题答案: 就像AlienWebguy说,每文档,require.js可以炸毁如果 您在自己的脚本标签中有一个匿名的define(“ 调用define()的模块,没有字符串ID ”)(我假设它们实际